Несколько примеров оконных функций в Яндекс DataLens
В DataLens можно использовать оконные функции которые бывают трех видов:
- стандартные (агрегация, ранжирование)
- скользящие (название начинается с M)
- накопительные (название начинается с R)
Посмотрим на некоторые из них в действии. Для примера я буду использовать некоторый набор данных с зарплатами сотрудников из различных городов и подразделений:
Стандартные оконные функции
Посмотрим какой процент составляет зарплата сотрудника от фонда оплаты труда по городу. Сначала посчитаем общую сумму по городу:
Рассчитаем % сотрудника в ФОТ города:
Как мы посчитали? ФОТ по городу рассчитывается формулой:
1 |
sum( sum([salary]) within [city]) |
% ФОТ считаем формулой:
1 |
[salary] / [Всего по городу] |
Чтобы вывести % в качестве значений необходимо в настройках поля указать соответствующий параметр:
Для примера составим рейтинг зарплат сотрудников по городам:
Рассчитывается рейтинг очень просто:
1 |
RANK( sum([salary]) WITHIN [city]) |
Можно в нашей таблице оставить только ТОП 3 сотрудников по зарплатам, достаточно добавить показатель Рейтинг з/п в фильтр и указать условие:
Скользящие оконные функции
Для примера будем использовать другой датасет:
Давим скользящее среднее по количеству продаж. Считаем текущий день, два дня до и два дня после на примере 05.04.2022:
Формула расчета для показателя:
1 |
MAVG( COUNT([order_id]), 2, 2) |
В этой формуле мы должны указать три параметра:
- что считаем
- сколько строк берем до текущей
- сколько строк берем после текущей
По аналогии можно использовать и другие функции для расчета скользящих значений.
Накопительные оконные функции
В качестве демонстрации посмотрим на количество заказов по категориям и месяцам продаж:
Посчитать такой показатель можно с помощью следующей формулы:
1 |
RSUM( COUNT([order_id]) WITHIN [category_name_level_1] ) |
Заключение
Комбинируя различные варианты использования оконных функций в DataLens можно рассчитывать много различных показателей. Приведенные выше примеры это лишь малая часть возможностей, которая призвана продемонстрировать возможности DataLens. Подробнее про оконные функции DataLens можно узнать из официальной справки, а также демонстрационного отчета.