ДЕНЬ 09

Про LOD выражения
Вчера мы осваивали нужные каждому дата-аналитику иерархии и сеты, учились создавать группы.

СЕГОДНЯ

Подступаемся к LOD выражениям и с ними получаем контроль над уровнем детализации. Разбираемся, когда применимы LOD выражения и как их записывать. В конце дня попрактикуемся, похвалим себя за стойкость и как всегда расслабляемся на вольных темах датавиза.
calculations Tableau

РАЗБИРАЕМСЯ

В LOD выражениях и их пользе

LOD

Выражения (Level of Detail) LOD представляют собой элегантный и мощный способ ответить на вопросы к данным, с несколькими уровнями детализации в одной визуализации.

Вспомним про агрегацию данных

Для того, чтобы понять, как работают расчеты уровня LOD, вспомним понятие агрегации, которое используется в Tableau. Подробно мы говорили об этом в начале дня 02.

До появления LOD-вычислений было невозможно создать вычисление на уровне детализации отличном от текущего уровня, на котором построен график.
Существовавшие суммарные итоги или референс-линии просчитывались на представлении, а не в источнике. Это значит, что их результат формируется после того, как на графике был задан уровень детализации, и зависит от среза данных на визуализации.

Преимущество (и новшество на момент появления) LOD-вычислений в том, что они выполняются на уровне источника данных. С ними можно делать расчеты на любом уровне детализации, независимо от того, какие поля находятся на текущем уровне детализации в представлении.

Выражения LOD предоставляют нам еще больше контроля над уровнем детализации, который мы хотим вычислить. Они могут быть выполнены на более детальном уровне (INCLUDE Calculation), менее детальном уровне (EXCLUDE Calculation) или полностью независимом уровне (FIXED Calculation).

«
Запись LOD выражения имеет особый синтаксис.
lod Tableau

Уровень строк

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

[Sales] / [Profit]
Этот расчет будет осуществляться в каждой строке базы данных. Значение [Sales] в каждой строке будет делиться на значение [Profit] в этой строке, создавая новый столбец с результатом деления (коэффициент прибыли/ ProfitRatio).

Если создать вычисление с таким определением, сохранить его с именем [ProfitRatio], а затем перетащить его из панели Data на полку, Tableau обычно агрегирует вычисляемое поле для представления:

SUM[ProfitRatio]

Уровень визуализации

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

SUM(Sales) / SUM(Profit)

Если перетащить этот расчет на полку (или ввести его непосредственно на полку как расчет ad-hoc), Tableau заключит его в функцию AGG:

AGG(SUM(Sales) / SUM(Profit))
Или наиболее известную как агрегированный расчет.

Агрегация и выражения LOD

Уникальность LOD в том, что с его помощью появляется возможность понижать и повышать уровень агрегации данных независимо от того, что отображено на визуализации.
Повышаем уровень агрегации
Выражение LOD имеет более высокий уровень детализации, чем уровень детализации визуализации, и оно ссылается на подмножество измерений в представлении.

Например, для представления, содержащего измерения [Category] и [Segment], можно создать уровень детализации в Tableau, который использует только одно из этих измерений:

 {FIXED [Segment] : SUM([Sales])}

В этом случае выражение имеет более высокий уровень детализации, чем отображение. Оно основывает свои значения на одном измерении ([Segment]), тогда как представление основывается на двух измерениях ([Segment] и [Category]).
В результате использование выражения с уровнем детализации в представлении приводит к тому, что определенные значения повторяются, то есть появляются несколько раз.
Понижаем уровень агрегации
Выражение LOD имеет более низкий уровень детализации, чем уровень детализации визуализации.

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

Когда вы используете такое выражение в представлении, Tableau агрегирует результаты до уровня представления. Например, следующий уровень детализации в Tableau ссылается на два измерения:

{FIXED [Segment], [Category] : SUM([Продажи])}

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

SUM([{FIXED [Segment]], [Category]] : SUM([Sales]])}])

Агрегация (в данном случае среднее) автоматически назначается Tableau. Вы можете изменить агрегацию по мере необходимости.

Порядок операций и LOD выражения

Разбираясь в LOD расчетах, нужно учесть порядок выполнения фильтраций в Tableau. Ниже показан порядок выполнения фильтров сверху вниз. Продолжаем тему, начатую в дне 04 Про фильтры.
порядок фильтрации Tableau
На значения, которые мы получим в Fixed LOD выражении, могут повлиять только фильтры на экстракт, источник данных и контекстные фильтры. На значения Include и Exclude LOD выражений повлияют еще дополнительно фильтры измерений.
Как все отрабатывает
  1. В вершине топа располагаются фильтры на источник данных и на экстракт (если используется). Это подразумевает, что все данные, которые вы здесь отфильтруете, не попадут дальше в вашу работу. Вы их не увидите на рабочих листах.
  2. Контекстные фильтры располагаются сразу после фильтров на источник. Это значит, что данные сначала будут предотфильтровываться, а потом идти остальные фильтры по порядку. FIXED вычисления применяются до фильтров измерений, поэтому, если вы не повысите уровень полей на панели фильтров до контекстных фильтров, они будут проигнорированы.
  3. Далее идут обычные фильтры по измерениям и мерам, но между ними еще появляются фильтры с калькуляции LOD типа INCLUDE / EXCLUDE, с сетами и другие.
  4. В самом конце применяются фильтры на табличные вычисления, потому что помним, что табличные вычисления применяются только на виз на листе и не влияют на данные.
Покажем это на этапах создания визуализации.
в каком порядке создается визуализация Tableau
Именно поэтому результаты применения фильтров воздействуют на результат, полученный с помощью табличных вычислений. И если пользователю нужен фильтр, например, по странам, то правильные значения % от итога можно получить только с помощью LOD выражений.
СОВЕТ
Если необходима агрегация по минимальному уровню детализации с использованием оператора FIXED, можно использовать формулу {AVG([Sales])}.

Типы выражений LOD

Вычисление INCLUDE
Выражения INCLUDE LOD гарантируют, что измерение, которое не обязательно присутствует в представлении, будет учтено в расчете. Это выражение уровня детализации наиболее полезно при включении измерения, которого нет в представлении.

Например, если мы примем решение сравнить средние продажи по городам в разрезе каждой области, мы используем следующую формулу:

 {INCLUDE [City]:AVG([Sales])}
Мы увидим, что для областей, где количество городов больше 1, значение средних продаж по области и средних продаж для города отличаются.
Вычисление EXCLUDE
Выражения EXCLUDE LOD удаляют некоторые детали из представления для целей расчета.
Например, нам необходимо рассчитать средний объем продаж по области в таблице со списком городов. В этом случае мы используем следующую формулу:

{EXCLUDE [City]:AVG([Sales])}
Теперь мы смогли рассчитать средние продажи для каждой области и при необходимости сможем сравнить отклонение для каждого города.

FIXED

Выражения FIXED LOD устанавливают конкретное измерение или измерения для остальной части расчета. Например, возвращают максимальное артериальное давление для каждого пациента вместо общего максимума в наборе данных, фиксируя максимум на ID пациента.

FIXED вычисляет значения, используя указанные измерения без ссылки на уровень детализации представления, то есть без ссылки на любые другие измерения в представлении. Это выражение уровня детализации также игнорирует все фильтры в представлении, кроме контекстных фильтров, фильтров источника данных и фильтров извлечения. Например:

{FIXED [Region] : SUM([Sales])}
При использовании FIXED LOD результат будет одинаковым независимо от визуализации. При использовании LOD INCLUDE или EXCLUDE значение может меняться в зависимости от структуры представления. Ключевое слово INCLUDE учитывает контекст представления и добавляет измерение для расчета (а EXCLUDE удаляет измерение, присутствующее в представлении, из контекста расчета), поэтому использование расчета в другом контексте может дать другие результаты.

Table Calculations и LOD

Хотя выражения LOD могут заменить многие Calculations, основная цель LOD-ов — открыть в них новые возможности.

ПРАКТИКУЕМСЯ

О датасете

Датасет содержит данные о розничной торговле Superstore за 4 года.
Задание
  1. Выведите отдельными колонками суммарные продажи и продажи по категориям.
  2. Рассчитайте долю каждой страны в глобальных продажах. Значения не должны меняться при применении фильтра.
  3. Выведите отдельными колонками суммарные продажи для каждой категории и подкатегории.
  4. Рассчитайте разницу между средними продажами по подкатегориям и средними продажами по категориям.
  5. Отобразите структуру продаж по годам в зависимости от даты первой покупки клиента. Например, продажи в 2017 г. состоят из продаж клиентам, сделавшим первые покупки в 2015 г., в 2016 г. и в 2017 г. (новые клиенты).

Скачать задание в виде книжки Tableau
Решение задания предыдущего дня

ВДОХНОВЕНИЕ

Видео

В этом видео Артем Прытков показывает, как использовать функции LOD в формулах Tableau. Рассмотрим функции EXCLUDE, INCLUDE и FIXED и с их помощью перейдем к практике.
Работа в Tableau. Функции LOD
Из блога Артема Прыткова

Временные визы. Браузер техник

A Visual Survey of Visualization Techniques for Time-Oriented Data

20 вариантов использования табличных расчетов уровня детализации (LOD)

Кен Флерладж уверен: каждый пользователь Tableau должен знать, как применять LOD. Хотя бы для того, чтобы избавляться от дубликатов записей.

МАТЕРИАЛЫ

Книга

Какие части данных действительно имеют значение? Как анализировать ваши данные с помощью вопросов высокого уровня, четко определенных задач анализа данных и визуализации, чтобы прояснить понимание и получить идеи по пути?
Книга авторов Даниэля Фишера и Мириа Майер подробно описывает, как процесс итеративной визуализации помогает уточнить вопросы, которые вы задаете своим данным.
Данные — в визуальную форму
Даниэль Фишер и Ко
Из книги вы узнаете про:
+ процесс консультирования данных для перехода от общих к более точным вопросам о ваших данных и получения рабочей визуализации.
+ роль, которую визуальные представления играют в обнаружении данных.
+ общие типы визуализации по типам задач, которые они выполняют, и данных, которые они используют.
+ способы визуализации, которые используют несколько представлений и их взаимодействие для поддержки анализа больших комплексных наборов данных.

Книга

Одна из последних книг Эдварда Тафти. Эстетический шедевр с потрясающими идеями в области визуализации. Всем читать.
Edward Tufte. Beautiful Evidence
Шедевр 04
Эта книга о том, как преобразовать вашу способность видеть в способность визуально представлять увиденную информацию. Визуальные доказательства Тафти демонстрируют лучшие образцы жанра, представляя десятки шедевральных примеров разных времен и народов, от Галилея до наших дней.

Итоги этапа

Это был непростой этап, но добавив себе в копилку теоретические и практические знания LOD, вы уже претендуете хороший advanced уровень владения Tableau. Эти мощные инструменты дают нам власть над данными.
Ну и хватит нам пока формул, пора перейти к визуализациям с помощи карт. Бежим дальше! Виз-виз урааа!

Бежим Марафон в команде!

С менторством и в компании единомышленников.
Нажимая кнопку, вы соглашаетесь на обработку персональных данных. Мы используем их, чтобы оставаться на связи. Подробнее здесь.