В аналитике данных LOD-выражения (Level of Detail) позволяют гибко управлять агрегацией данных, изменяя уровень детализации. Управление уровнем детализации позволяет добавлять или исключать измерения из группировки, а также использовать вложенные агрегации для расчета сложных метрик.
Для работы с LOD-выражениями в AW BI используется специальный виджет - таблица агрегатов. Это таблица, поля которой, выведенные в группы и агрегаты, отображаются в качестве столбцов, что позволяет увидеть данные, структурированные по категориям. Также эта таблица предоставляет расширенный набор агрегатных функций (в том числе LOD-выражений) для манипулирования уровнем детализации при вычислениях.
В этой статье мы рассмотрим, что такое LOD выражения и как их применять в AW BI.
Что такое LOD-выражения?
LOD-выражения — это инструмент, который позволяет выполнять вычисления на разных уровнях детализации данных. Они помогают анализировать данные более глубоко, чем стандартные агрегации, и решать сложные аналитические задачи.
Существует три типа LOD-выражений, которые переопределяют группировку, заданную в виджете при вычислении конкретной агрегатной функции:
- FIXED: позволяет выполнить группировку по явно перечисленным измерениям. FIXED с пустым списком измерений эквивалентно TOTAL, все данные будут агрегированы в одной группе.
SUM([value] FIXED [field])
- INCLUDE: позволяет добавить указанные измерения в группировку виджета. Таким образом, повышается уровень детализации при вычислении агрегатной функции. INCLUDE с пустым списком измерений эквивалентно той же группировке, что и в виджете.
MAX(SUM([value] INCLUDE [field]))
- EXCLUDE: позволяет исключить указанные измерения из группировки виджета. Таким образом, вычисление значения агрегатной функции выполняется с группировкой по всем измерениям виджета, кроме перечисленных. EXCLUDE с пустым списком эквивалентно той же группировке, что и в виджете.
SUM([value] EXCLUDE [field])
Практические примеры использования
Пример 1.
Доля каждой категории в регионе от общей суммы продаж (FIXED без измерений):
В виджете с группировкой по измерениям Категория и Регион необходимо рассчитать долю каждой категории в общей сумме продаж.
Формула:
SUM([Sales]) / SUM([Sales] FIXED) * 100
SUM([Sales])
— сумма продаж по каждой категории в регионе (вычисляется с группировкой по умолчанию в виджете);SUM([Sales] FIXED)
— общая сумма продаж (вычисляется без группировок)
Результат:
По ссылке можно посмотреть готовый пример в нашей бесплатной free-версии.
Пример 2.
Средняя сумма продаж по категории во всех регионах (FIXED):
В виджете с группировкой по измерениям Категория и Регион необходимо рассчитать среднюю сумму продаж по категории во всех регионах
Формула:
AVG([Sales] FIXED [Category])
Здесь среднее значение вычисляется только с группировкой по измерению Категория, игнорируя настроенное в виджете измерение Регион.
Результат:
По ссылке можно посмотреть готовый пример в нашей бесплатной free-версии.
Пример 3.
Максимальное количество заказов по категориям для каждого региона (INCLUDE):
В виджете с группировкой по измерению Регион необходимо рассчитать максимальное количество заказов по категориям
Формула:
MAX(COUNTD([order_id] INCLUDE [category]))
Здесь используем вложенную агрегацию: сначала посчитаем количество заказов по каждой категории и региону, а потом выберем максимальное значение для каждого региона.
В виджете используется только одно измерение для группировки — Регион. При этом вычисление количества заказов во вложенной агрегации выполняется с группировкой по категории и региону, потому что для функции COUNTD в группировку добавлено измерение Категория. А на верхнем уровне агрегация выполняется только по измерению Регион.
Результат:
По ссылке можно посмотреть готовый пример в нашей бесплатной free-версии.
Для иллюстрации результата добавим измерение Категория в группировку виджета. На скриншоте ниже выделены строки с категориями, насчитывающие максимальное количество заказов по каждому региону. Эти значения выводятся как результат работы функции на скриншоте выше.
Пример 4.
Сумма продаж в регионах по всем тарифам доставки (EXCLUDE):
В виджете с группировкой по измерениям Регион и Тариф доставки необходимо рассчитать сумму продаж в регионах по всем тарифам доставки.
Формула:
SUM([sales] EXCLUDE [Ship Mode])
Здесь сумма продаж вычисляется только с группировкой по измерению Регион, игнорируя настроенное в виджете измерение Тариф доставки.
Результат:
По ссылке можно посмотреть готовый пример в нашей бесплатной free-версии.
Сходство с оконными функциями
В некоторых случаях LOD-выражения можно использовать как альтернативу оконным функциям.
Например, выражение с FIXED со списком измерений может применяться аналогично оконной функции с группировкой WITHIN, а выражение с EXCLUDE — оконной функции с группировкой AMONG.
Для INCLUDE аналога в оконных функциях нет — в них нельзя добавить новые измерения.
LOD-выражения открывают широкие возможности для анализа данных, позволяя глубже понять взаимосвязи между показателями. Освоив FIXED, INCLUDE и EXCLUDE, вы сможете создавать более гибкие и информативные дашборды.