Вложенные агрегирования с функцией агрегирования
Вложенности с классификатором TOTAL не всегда достаточно. Для более общей вложенности необходимо использовать функцию расширенного агрегирования данных вместе с вычисляемыми размерами.
Пример:
Следующие данные прочитаны из скрипта:
На основе этих данных возникает очевидный вопрос: «Сколько клиентов у каждого торгового агента?».
На этот вопрос легко ответить, используя стандартную таблицу QlikView:
На основе полученных данных могут появиться новые вопросы: «Сколько торговых агентов имеют только одного клиента? У скольких трое и более клиентов?».
Если не учитывать тот факт, что в этом простом случае можно сосчитать числа в столбцах выражения вручную, для этих типов вопросов требуется агрегирование второго порядка. Необходимые для вычислений данные отсутствуют в исходных полях, и их нельзя вычислить напрямую на основе полей.
Необходимо просто найти способ использовать столбец выражения в приведенной выше диаграмме в качестве измерения новой диаграммы. Это можно получить с помощью функции расширенного агрегирования.
Чтобы выполнить вычисления по первой диаграмме в качестве вычисления внутренней диаграммы в новой диаграмме, необходимо использовать следующий оператор для измерения:
=Aggr(Count(Customer),SalesRep)
А затем необходимо ввести следующее выражение для новой диаграммы:
Count(Distinct SalesRep)
Классификатор DISTINCT необходим, поскольку приложение QlikView будет считать число строк в таблице ниже.
В получившейся в результате таблице находится ответ на вопрос «Сколько торговых агентов имеют 1, 2, 3 и более клиентов?»:
Необходимо отметить две вещи:
- Для второй диаграммы не требуется первая диаграмма. Она полностью самодостаточна с агрегированием первого порядка, определенным в пределах измерения.
- Возможности вложенности этим не ограничиваются. Аргументы измерения функции расширенного агрегирования могут, конечно, содержать определенные вычисляемые измерения, в свою очередь использующие функцию расширенного агрегирования. Однако при передаче третьего уровня агрегирования довольно просто запутаться.