powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CR10. Как подсчитать кол-во по условию max (date) для групп примитивной таблицы
3 сообщений из 3, страница 1 из 1
CR10. Как подсчитать кол-во по условию max (date) для групп примитивной таблицы
    #36375473
PVB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Ряд постов не помог решить проблему. Постараюсь ее описать в таком ракурсе - есть такая примитивная таблица в три столбца ACTION , NUMBER и DATE :

ACTION NUMBER DATE
a 001 10.12.2009
b 001 11.12.2009
c 001 12.12.2009
a 002 10.12.2009
b 002 11.12.2009
b 002 15.12.2009
a 003 11.12.2009
b 003 20.12.2009

Нужно в REPOR FOOTER получить кол-во записей для которых соответствуют условия (выделено в таблице):
1. ACTION = "b"
2. В группе NUMBER этот ACTION равный "b" должен быть последний по DATE , если "b" встречается более одного раза.

Отсоветовали делать через subreport и кроме того область с subreport (где вычисляется все через формулы ) нельзя спрятать (suppress), та как как спрятанный subreport не участвует в расчетах отчете, а не спрятанный выводит пустые строки.

Что еще можно применить для вышеуказанного вычисления?
В add command что-то типа:
Код: plaintext
1.
select NUMBER,  DATE from vadim where (action = 'b')
group by NUMBER,DATE order by NUMBER,DATE
Но как задать динамически группу, в которой нужно найти одно - последнее или максимальное значение DATE ?

А если использовать SQL Expression Fields, то здесь тоже не пойму как задавать условия выборки интересующей группы..........

У кого есть опыт - подскажите плз.
...
Рейтинг: 0 / 0
CR10. Как подсчитать кол-во по условию max (date) для групп примитивной таблицы
    #36377565
ustass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот вопрос, стоило бы задать на форуме того SQL сервера, который вы используете(конечно с указанием точной версии)
Например для
MSSQL2000 это бы выглядело так
Код: plaintext
1.
2.
3.
declare @t Table(action varchar( 10 ),D datetime)
insert into @t (action,D) select action,max(date) from vadim group by action
select a.action,a.date,b.D 
from vadim a inner join @t b on a.action=b.action
для 2005 это еще короче через over
Хотя, конечно, я до конца и не понял, что точно должно получиться в результате.
...
Рейтинг: 0 / 0
CR10. Как подсчитать кол-во по условию max (date) для групп примитивной таблицы
    #36378760
iNatty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВ группе NUMBER этот ACTION равный "b" должен быть последний по DATE
Если только количество записей, то и нет смысла искать последний по дате. Потому что если есть секция b, то уже можно прибавлять единичку.. Делаю вывод, что нужно вывести саму строку, так?
Если да, то попробуйте так:
попробуем расположить столбцы немножко иначе

001 a 10.12.2009
001 b 11.12.2009
001 c 12.12.2009
002 a 10.12.2009
002 b 11.12.2009
002 b 15.12.2009
003 a 11.12.2009
003 b 20.12.2009

Видим группы по
1.NUMBER (создаем ее) - внимательно смотрите - если она у вас строковая, лучше создать формулу перевода в number и сортировать по ней (а выводить само поле), чтобы сортировка была правильная
2.ACTION
Подводим итоги в GroupFooter2 (ACTION)
Здесь или формулу через max({DATE}, {ACTION}) по группе 2, или итоговое поле, как больше нравится.
Поле для подведения итога - DATE
Тип итога - max

Возвращаемся в секцию Detail. Здесь для проверки результата можно разместить созданную формулу или итоговое поле. Затем скрываем секцию Detail по формуле
not (<формула или итоговое поле> = DATE and ACTION = "b")
Проверяем обязательно.
Остальные секции скройте, чтобы не было пустых мест.
Через запрос не имеет смысла делать, имхо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CR10. Как подсчитать кол-во по условию max (date) для групп примитивной таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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