Cognos Report Studio | Запрос | Группировка и агрегация |
Для задач с группировкой и агрегацией есть одна когносовая фича, которая позволяет вычислить значение поля с помощью сводки по любому массиву: отдельному полю или по всему отчету. Это: AGGREGATE_FUNC ([Field_Name] FOR [Array_Name])
Например, есть данные:
Нужно вывести ORDER_NUM с самой ранней датой отгрузки (SHIP_DATE):
SELECT ORDER_NUM ,MIN(SHIP_DATE) ,… FROM … GROUP BY ORDER_NUM
или
SELECT TOP 1 ORDER_NUM ,… FROM … ORDER BY [SHIP_DATE] ,…
Задачу можно решить следующим образом:
1.В Запросе создается новый элемент (CALC_MIN_SHIP_DATE), выражение которого:
MINIMUM ([SHIP_DATE] FOR [ORDER_NUM])
2.И в Запросе задается фильтр: [SHIP_DATE] = [CALC_MIN_SHIP_DATE]
3.Результат:
|