о визуализации данных и развитии BI-систем
канал в телеграмме | подборки | видео

Шпаргалка по Quick Table Calculations

Статья подготовлена Русланом и немного подредактирована мной. Материал создан рамках менторства и прокачивания навыков Руслана как BI-разработчика. На нашем перовом созвоне я увидел, что у Руслана нет легкости в обращении с быстрыми табличными вычислениями, поэтому одно из заданий было разобраться с каждым видом расчета, чтобы прокачать этот навык. Он подготовил шпаргалку, которая будет полезна всем, кто только начал изучать Табло.

Задание

Придумать по одному бизнес кейсу для каждого Quick Table Calcs, которые есть в Табло. Описать какую задачу решает этот кальк, описать особенности этого калька (если есть).

Решение

Книга на Табло Паблик с примерами

Общая особенность формул: Для всех table calcs можно уточнять размер партиции (Таблица, панель, ячейка) и направление расчета, если партиция по структуре не ряд, а таблица. Направления — down, across и т. д.

Running total (Включает в себя быстрые YTD total, YTD growth)

Краткое описание

  • Агрегация нарастающим итогом.
  • YTD total. Суммы нарастающим итогом, разбитые по годам
  • YTD growth. Приросты к прошлому году нарастающим итогом, разбитые по годам

Формула
RUNNING_SUM(SUM([Sales]))

Особенности

  • Для агрегации можно использовать sum, avg, min, max
  • Расчет может быть основан на другой расчетной метрике (Secondary calculation). Т. е. можно сделать например нарастающий итог процента от общего.
  • Для того чтобы работали функции YTD и YTD Growth в виде обязательно должны быть год и месяц
  • Нет расчета RUNNING_COUNTD что очень не удобно для подсчета когорт уникальных пользователей

Кейсы

  • Все сценарии когда нам нужно смотреть на наши цифры нарастающим итогом. Например сравнивать факт и план, если план дается нарастающим итогом, а не разбит по периодам
  • Можем строить график парето. Понимать соотношение кол-ва элементов и их вклада (X% товарных позиций приносят Y% выручки)
  • Риал тайм цифра. Например количество открытых тикетов, которое складывается из всех открытых и закрытых тикетов за все время или количество проданных билетов за все дни

Difference from

Краткое описание
Разница текущего значения и выбранного (чаще всего предыдущего) в абсолютном выражении. Насколько приросли к выбранному периоду в абсолюте.

Формула
ZN(SUM([Sales])) — LOOKUP(ZN(SUM([Sales])), -1)

Особенности
Работает опция «Relative to» — выбранным значением может быть Previous, Next, First или Last

Кейсы

  • Можем использовать, чтобы сравнивать результаты текущего периода и прошлого
  • Рассчитывать разницу «отставания» между двумя категориями. Полезно для постройки waterfall чартов или гантельных диаграмм

Percent difference from и Year over Year growth rate

Краткое описание
Аналогично предыдущему, только в процентном выражении. При этом предыдущее значение берётся по абсолюту, для учета случаем отрицательных значений.

Формула
(ZN(SUM([Sales])) — LOOKUP(ZN(SUM([Sales])), -1)) / ABS(LOOKUP(ZN(SUM([Sales])), -1))
 
Особенности

  • Работает опция «Relative to» — выбранным значением может быть Previous, Next, First или Last
  • Расчет YoY доступен только если в виде есть год и месяц.

Кейсы

  • Year over Year growth rate. Сравнение результатов текущего периода и аналогичного периода год назад
  • График доходности актива. Если хотим смотреть % изменения относительно первого значения.

Percent from

Краткое описание.
Сравнение текущего значения и выбранного в процентном выражении. Какой % составляет текущее значение от выбранного.

Формула
ZN(SUM([Sales])) / LOOKUP(ZN(SUM([Sales])), -1)

Особенности
Выбранным значением может быть Previous, Next, First, Last
 
Кейсы

  • Расчет выполнения факта от плана в длинной структуре данных
  • Сравнение нескольких категорий в процентном соотношении

Percent of total

Краткое описание
Доля от общего.
 
Кейсы

  • Можем использовать чтобы понимать вклад отдельной категории продуктов в общие продажи
  • Строить нормированные бар-чарты и ареа-чарты

Rank

Краткое описание.
Порядковый для среза посчитанный по убыванию или возрастанию агрегата какой-то метрики

Формула
RANK(SUM([Sales]))

Особенности
Можно выбирать формулу выбора номера при совпадающих значения (Competition, dense, unique, modified competition)

Кейсы

  • Рейтинг с изменением по времени (бамп чарт)
  • Сортировать и фильтровать данные когда нельзя фильтр по TopN

Percentile

Краткое описание
Процентиль — определяет в какой процент от общего попадает значение для упорядоченного по метрике массива.

Формула
RANK_PERCENTILE(SUM([Sales]))

Кейс
Отобрать все записи, входящие в топ N% значений

Moving calculation

Краткое описание
Скользящая аггрегация. Вместо одного значения берет для расчета несколько, выбирая их относительно текущего

Формула
WINDOW_AVG(SUM([Sales]), -2, 0)

Особенности

  • Для агрегации можно использовать sum, avg, min, max
  • Выборка задается окном «от и после» текущего значения
  • Текущее значение и случаи когда не нет полных данных для окна можно исключать.

Кейсы
Если данные показывают большую вариабельность или имеют сезонность, то часто общая динамика непонятна. В этом случае используется скользящее среднее.

Дополнительные материалы

Видео от Энди Крибела
Материалы Табло Марафона
Официальная документация

Подписаться на блог
Отправить
Поделиться
Запинить
 8080   2021   табло
Дальше