powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / DISTINCT
5 сообщений из 5, страница 1 из 1
DISTINCT
    #32201309
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем !

Возник такой вопрос, более теоритический чем практический.
Кто как делал COUNT DISTINCT в стандартных Report-ах в Foxpro 2.6 for DOS ?
Т.е. например вы выводится содержмое накладных, но нужно посчитать количество накладных
...
Рейтинг: 0 / 0
DISTINCT
    #32201345
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На отчёте создавал поле в нужной группе или summary, вписывал туда 1 и вычислял сумму. можно вычислять count, значение поля может быть любым .
...
Рейтинг: 0 / 0
DISTINCT
    #32201361
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь это будет количество строк во всех накладных, а не количество накладных ?
...
Рейтинг: 0 / 0
DISTINCT
    #32201374
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этом случае чуть сложнее.
В отчет добавлял 2 переменные:
_Count и _Flag

Для _Count
Initial Value : 0
Value to store : _Count + _Flag
Calculate : nothing
Reset at : End of report

Для _Flag:
Initial Value : 1
Value to store : 0
Calculate : nothing
Reset at : [поле группировки - ??? номер накладной в Вашем случае, наверное]


В отчёте в summary показывал _Count
...
Рейтинг: 0 / 0
DISTINCT
    #32204963
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение vklepko мне кажется самым красивым. Ну а лично я использовал следующую особенность переменных отчетов в FoxPro:

Переменные отчета в FoxPro вычисляются в том порядке, в котором они отображены в списке переменных.

Это значит, что в момент вычисления значений для первой по списку переменной отчета, значение последней все еще соответсвует значению из предыдущей записи. Т.е. я делал так:

2 переменные обязательно расположенные в таком порядке

_Count
_Flag

Т.е. в списке переменных обязательно _Count должна стоять ДО _Flag

Для _Count
Initial Value : 0
Value to store : _Count + IIF(_Flag=[поле группировки],0,1)
Calculate : nothing
Reset at : End of report

Для _Flag:
Initial Value : 0
Value to store : [поле группировки - ??? номер накладной в Вашем случае, наверное]
Calculate : nothing
Reset at : End of report


В отчёте в summary показывал _Count
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / DISTINCT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]