Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
CR10. Как подсчитать кол-во по условию max (date) для групп примитивной таблицы
|
|||
|---|---|---|---|
|
#18+
Добрый день. Ряд постов не помог решить проблему. Постараюсь ее описать в таком ракурсе - есть такая примитивная таблица в три столбца 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. А если использовать SQL Expression Fields, то здесь тоже не пойму как задавать условия выборки интересующей группы.......... У кого есть опыт - подскажите плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 17:03 |
|
||
|
CR10. Как подсчитать кол-во по условию max (date) для групп примитивной таблицы
|
|||
|---|---|---|---|
|
#18+
Этот вопрос, стоило бы задать на форуме того SQL сервера, который вы используете(конечно с указанием точной версии) Например для MSSQL2000 это бы выглядело так Код: plaintext 1. 2. 3. Хотя, конечно, я до конца и не понял, что точно должно получиться в результате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 14:18 |
|
||
|
CR10. Как подсчитать кол-во по условию max (date) для групп примитивной таблицы
|
|||
|---|---|---|---|
|
#18+
авторВ группе 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") Проверяем обязательно. Остальные секции скройте, чтобы не было пустых мест. Через запрос не имеет смысла делать, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2009, 01:11 |
|
||
|
|

start [/forum/topic.php?fid=31&msg=36378760&tid=1535742]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 10ms |
| total: | 81ms |

| 0 / 0 |
