ДЕНЬ 05
Про вычисления
СЕГОДНЯ

Ну вот наконец и тема, которую можно рассматривать со всех сторон не один десяток дней. И знаете сколько мы будем ее изучать? Правильно - целый ДЕНЬ 05. Хотя эхо этой темы будет откликаться все последующие дни марафона. Так что делаем закладки и начинаем считать функции и смотреть описания их использования. Некоторые ооочень полезные, а вот другие так себе. Например кому нужны тригонометрические функции? Если это именно вам, то говорить дальше ничего не нужно, дальше мы будет только считать...

Сегодня у нас на пути - Пользовательские вычисления. Функции. Вычисляемые поля и другие вкусности датасаентистов. Побежали.
Про цели - Вы тут товарищ сержант не для того чтобы складывать и умножать, а чтобы отнимать и делить...
РАЗБИРАЕМСЯ
В том, как создавать свои вычисления и разбираться в чужих
Табличные вычисления
Table Calculations, Quick Table Calculations
Что это такое
На втором дне мы уже рассказывали про быстрые табличные вычисления. Поэтому, текущая тема вам уже немного знакома.

Табличные вычисления - это вычисления, которые Tableau строит непосредственно на текущей визуализации без необходимости прописывать формулы - "на лету". Например, вы можете использовать табличные вычисления для показа нарастающего итога продаж за период или вычислить долю каждого продукта в общем объеме продаж в квартале уже настроенными за вас формулами для расчета.

Для табличных вычислений вы прописываете логику расчета. Давайте посмотрим на примере. Представьте, что вам нужно проранжировать все значения на графике, от большего к меньшему. При этом, на диаграмме у вас несколько вложенных категорий ("Страна" - "Город"). Как вам проставить ранг для всех значений? В Tableau вы будете использовать функцию RANK. Но как именно она должна считаться? Проранжировать все города внутри каждой страны по отдельности, или сделать глобальный рейтинг городов?
В табличных вычислениях вы, помимо функции (RANK, INDEX, PREVIOUS_VALUE,...), задаете и ход вычисления. Вдоль всей таблицы или с учетом категорий. Настраиваете его так тонко, как это возможно - чтобы вычисление подходило к вашей задаче и вы достигали свою цель.

Быстрые табличные вычисления, о которых мы рассказывали раннее, это адаптация некоторых функций табличных вычислений с целью быстрого доступа и удобства. По сути, это одно и то же, лишь в разной форме.
Пример табличного вычисления "Разница от предыдущего значения"
Взято с гайда по табличным вычислениям от Evolytics.
Функции табличных вычислений
Функций табличных вычислений довольно много, поэтому мы приведем часть наиболее полезных. Остальные функции можно найти в справочнике Tableau.

Просто помните о том, что это очень мощный инструмент. При помощи табличных вычислений вы можете хитрить и агрегировать уже агрегированные значения (WINDOW_SUM), искать предыдущие значения для каждой строки (PREVIOUS_VALUE), заменять одни значения другими (LOOKUP) и многое другое.
Быстрые табличные вычисления
Running Total
Добавляет на визуализацию накопленный итог по переменной.

Difference
Добавляет на визуализацию разницу между значениями переменной, например, разницу между периодами на графике. Показывает прирост или отклонение в абсолютных значениях.

Percent Difference
Мы можем посчитать отклонение в процентах вместо абсолютных чисел при помощи функции Percent Difference.

Percent of Total
Доля от общего. Наверное, самое часто используемое вычисление.

Rank
Мы можем проводить ранжирование значений при помощи табличных вычислений, используя функцию Rank. Значения будут проранжированы в зависимости от настройки вычисления: от большего к меньшему или наоборот.

Percentile
Расчет перценителей. По умолчанию, наименьшее значение ранжируется как 0%, а наибольшее - как 100%. Остальные ячейки получают свой перцентиль в зависимости от их ранжирования.

Moving Average
Скользящее среднее используется для сглаживания временных рядов. В настройках Edit Table Calculations можно задать необходимые параметры – способ агрегации и количество периодов на основе которых высчитывается скользящее среднее.
Стандартные табличные вычисления
First
Функция, которая возвращает количество строк между текущей и первой строчкой таблицы, где первая строка это 0. Тогда, например, пятая строка это -4.

Index
Функция, которая возвращает порядковый номер, индекс текущей строки без учета значения показатея. Первая строчка в таблице будет с индексом 1, а пятая - с индексом 5.

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

Lookup
Функция, которая "ищет" значение указанной строки.

Previous Value
Функция, которая возвращает значение предыдущей строки. Можно задать шаг, на который нужно отойти для искомой строчки (-1 это предыдущая строка, -2 это на две строки назад).

Window SUM (AVG/MAX/MIN...)
Функция, которая считает сумму (среднее/максимум/минимум) по показателю в указанной области таблицы или между указанных строк.
Полный список табличных вычислений доступен тут:
Онлайн справочник Tableau
СОВЕТ
Созданное быстрое табличное вычисление можно сохранить в источнике данных. Это позволит удобно на него ссылаться. Просто перетащите поле из области Rows/Columns в область с данными слева - вы должны увидеть значок плюсика рядом с курсором.
Настройка табличных вычислений
Конечно, табличные вычисления без тонкой настройки имели бы мало смысла. Невозможно заранее предусмотреть все возможные конфигурации графиков и сделать статичные заготовки. Поэтому, у табличных вычислений есть гибкая система настроек для того, чтобы их можно было использовать под любую задачу.

Все табличные вычисления опираются на поля двух категорий: addressing и partitioning (поля для адресации и поля для разделения). При настройке вы сами определяете какое поле на вашем графике будет addressing, а какое partitioning.

  • Partitioning поля (для разделения) делают то, о чем говорят: они разделяют ваши данные на отдельные блоки, по каждому из которых влияются вычисления. Они опираются на структуру таблицы. Например, использование категорий на полке Rows дает повторение вычислений в каждой строке, используемых категорий.
  • Addressing поля (для адресации) определяют "направление" вычислений. Например, от чего считать долю.
Дополнительные настройки в табличных вычислениях:
  • Compute using... Table, Pane, Cell (Таблица, панель, ячейка). Выбираются границы, скоуп, масштаб для расчета.
  • Relative to...First, Previous, Next, Last. Выбирается относительно чего ведется расчет.
  • At the level. Выбирается уровень для расчета.
Таблица, панель, ячейка
Несколько вариантов области воздействия табличных вычислений
Все настройки для табличных вычислений выполняются в меню Edit Table Calculation, которое доступно по правому клику по полю.

Это меню является общим для всех табличных вычислений, в некоторых из них туда добавляются специфичные настройки. Окно состоит из нескольких пунктов. Наверху, вы можете изменить вид табличного вычисления. Ниже находится область, где можно менять условия для вычисления: Compute using, At the level, Relative to.
Меню Edit Table Calculation
Интерфейс для вычисления абсолютного отклонения.
Ниже показаны слайды с иллюстрацией способов расчета, которые встречаются в Compute using.

Подробнее о табличных вычислениях:
Онлайн справочник Tableau
Табличные Вычисления
Введение
Пользовательские вычисления
Calculations, Calculated Fields
Пара слов о возможностях
Если ваши исходные данные не включают в себя все поля, которые вам необходимы для визуального анализа, вы можете создать новые поля самостоятельно. Новые вычисления создаются на основе имеющихся полей, а затем сохраняются как часть источника данных.

Например, если у вас в источнике есть поля Продажа и Себестоимость, то вы можете создать новое вычисляемое поле под названием Прибыль, которая вычисляет разницу между ними. Вы создаете вычисляемые поля в Tableau, определив формулу, используя стандартные функции, параметры, арифметические действия и операторы.
Tableau по-настоящему раскрывает свою мощь в работе с функциями. Механика функций аналогична MS Exсel. Все функции разделены в зависимости от задач, на которые они нацелены: табличные вычисления, работа с датами, математические функции, работа со строками, логические выражения, функции агрегации, функции преобразования типов данных, а также специальные функции RawSQL, позволяющие работать с языком запросов SQL. Все функции с синтаксисом, описанием и примером доступны в справке - в интерфейсе Tableau Desktop в окне создания вычисляемого поля.
Функции для работы с текстом
Функции для работы с текстом могут быть полезны для выделения нужной части текста, унифицирования, группировки значений, исправления опечаток, сцепки нескольких категорий.
    Функции по работе с текстом

    Функции логики
    Логические функции

    Функции для работы с датами
    Функции для работы с датами

    В большинстве функций для работы с датами нужно прописывать необходимый вам уровень иерархии времени - date part. Ниже приведено описание всех возможных значений date part с примерами.
    Date part
    СОВЕТ
    Добавляйте комментарии в сложных вычислениях, используя двойной слэш //. Это поможет и вам, и вашим коллегам, если они будут разбираться в ваших вычислениях позже.
    Вычисления
    Начало
    Мы бы хотели рассказать о каждой функции в отдельности и подобрать наглядные примеры. Но пока это физически невозможно, посмотрите подробный справочник от Tableau:

    Онлайн справочник Tableau по функциям
    Табличные вычисления или просто формулы?
    Если все необходимые значения уже есть на визуализации, используйте табличные вычисления. Если нет и нужно что-то посчитать - обычные вычисления и формулы
    ПРАКТИКУЕМСЯ
    Продолжаем изучать Кикстартер
    Шли, шли, и наконец дошли. Табличные и пользовательские вычисления! В Tableau около 143 различных функций, способных превратить ординарный датасет в интересный источник данных с вычислениями и агрегациями. Часто вопрос, где делать агрегацию – в базе данных или в Tableau, заставляет DBA и Tableau дизайнера вести жаркие споры. Из практики, часто побеждает performance!
    Еще раз о датасете
    Расширили датасет кикстартера, добавив дату закрытия проекта.
    Работаем только с датой регистрации проекта, т.е. вопросы по количеству и сумме относятся к проектам зарегистрированных на определенную дату.

    Скачать датасет
    Задание
    1. Когда (месяц и год) среди успешных проектов, начиная с 2012, в категории "Игры" было максимальное количество спонсоров и максимальное среднее значение инвестиций в расчете на одного спонсора?
    2. Средняя продолжительность проекта (в днях) в категории "Музыка"?
    3. Средний процент сбора фондов в проектах со статусом failed и canceled?
    4. Были ли проекты с одним спонсором и суммой финансирования равной , либо большей 10 000 успешными?
    5. * Количество успешных проектов, зарегистрированных во время Рождественской недели в США (25.12-1.1)?

    Скачать задание в виде книжки Tableau
    Решение задания предыдущего дня
    ВДОХНОВЕНИЕ
    Полезные ссылки по теме
    Продолжаем знакомить с лучшими ресурсами по изучению Tableau, а также собираем материалы помогающие взглянуть на визуализацию данных с разных сторон
    Видео
    Сегодня вместе с Аароном мы посмотрим на разные аспекты визуализации жизни человека. Выходя за рамки привычных графиков и диаграмм мы можем находить множество идей для решения собственных задач. Вдохновляемся.
    Визуализируем себя
    Visualizaing ourselves by Aaron Koblin
    МАТЕРИАЛЫ
    Книги
    Следующие четыре дня мы предлагаем всем участникам как минимум пролистать шедевральные работы Эдварда Тафта. Глубокие и в тоже время легкие, с вниманием к любым деталям, эти работы наполнят вас идеями больше, чем десятки часов просмотра практических видео по работы с программными продуктами для визуализации данных.
    Edward Tufte. Envisioning Information
    Шедевр 01
    ... есть перевод на envisioninginformation.daiquiri.ru
    Потрясающие подборки уникальных примеров у Тафта не дадут вам шанса оторваться от чтения. Но не забываем о цели Марафона - бежать.
    Также, мы отыскали гайд на версию Tableau 6, в котором очень подробно расписаны все способы настройки табличных вычислений. Не смотря на старую версию - подходы не поменялись. Используйте этот гайд как справочник, когда что-то не получается. За один раз прочитать его довольно сложно, а вот обращаться к нему как к референс - идеально.
    Итоги этапа
    Мы познакомились с бесконечно обсуждаемой среди пользователей Tableau темой и каждый сделал для себя выводы. Вне зависимости от вашего вывода, освоить вычисления - требование обязательное для любого аналитика. Табличные вычисления это основа любой визуализации. Так что хватит плакать - вперед смотреть видео по второму разу. В помощь вам большая база знаний Tableau, где (при определенной сноровке) можно быстро вытаскивать практически любые решения, уже разобранные и описанные, и подходящие под ваш кейс. Хватит эти скучных формулочек, нас ждут интереснейшие варианты использования параметров. Виз виз урра!
    ~
    DATA YOGA CLUB