8 заметок с тегом

tableau

Radial pie в Tableau

Время чтения текста – 11 минут

Как-то раз на просторах YouTube мы нашли вот такое видео с гайдом по Radial Pie в Tableau:

Нам очень понравилась реализация — диаграмма сильно напоминает кольца активности Apple Watch. Но, к сожалению, по задумке графика кольца останавливаются на 270 градусах. Показываем, как сделать максимально приближенную к кольцам активности реализацию.

Кольца активности в Apple Watch

Подготовка данных

Данная визуализация является весьма спорной в контексте бизнес-дашбордов

Загрузим датасорс в Tableau. Наши кольца — это круги из 360 точек, и для каждой нам нужно своё наблюдение. Это легко реализовать при помощи Bins: сначала перетянем файл под поле с этим же файлом, чтобы объединить датасет с самим собой. В результате датасет должен «удвоиться» и появится новое поле с наименованием файла.

Создадим новое вычисляемое поле и назовем его Path.

Затем перейдём на график. Кликнем правой кнопкой мыши по Path из раздела Measures и создадим из этого поля Bins. Size of bins установим на единицу:

Создадим новое вычисляемое поле Index:

И поле Percentage, которое отобразит, насколько выполнены цели. Если достижение по цели будет больше самой цели, мы отобразим 1, чтобы не появлялись значения больше единицы.

Теперь создаём следующие меры:

wc_start — мера начальной координаты каждого кольца. Она считается по полю Order, соответственно, у Stand Order равен 1, а значит начинаться это кольцо будет раньше всех, в точке 1 по OY. У кольца Exercise Order равен 2, оно будет в середине. У Move Order равен 3 — это кольцо будет внешним и начнётся в точке 3.

percentage_label — мера для Label, в которой записано процентное отношение достижения по цели к самой цели:

Y2 — вспомогательная мера для начальных точек колец:

Наконец, финальные поля X и Y. Если значение меньше 360, мы описываем при помощи синуса внутреннюю линию кольца, если больше — то внешнюю линию, иначе — острие, на котором кончается кольцо. Формула вычисления Y аналогична X, но считаем не синус, а косинус.

Визуализация

Измерение Path (bin) перетянем в поле Detail, X — в Columns, а Y — в Rows. X и Y должны вычисляться при помощи Path:

Тип графика сменим с Automatic на Polygon и перетянем меру Index в поле Path. Поле Description перетягиваем в Color.

Меру Y2 тоже перетягиваем в Rows и устанавливаем для оси Dual Axis. Из All в Marks необходимо удалить Measure Names. Правой кнопкой мыши кликаем на ОY и синхронизируем оси:

Для Y2 устанавливаем тип Circle и корректируем размер:

Работа над оформлением

В Tableau есть возможность самому подобрать нужную гамму. Для жмём на Colors, затем на Edit colors, выбираем нужное поле и указываем цвет. Для гаммы колец из WatchOS мы подобрали такие цвета:

  1. Красный: rgb(229, 54, 83)
  2. Зелёный: rgb(186, 252, 79)
  3. Синий: rgb(117, 229, 228)

В Label Y2 перетягиваем поля Description и percentage_label. Устанавливаем выравнивание, Description выделяем жирным цветом, ставим галочку в Options у поля Allow labels to overlap other marks, чтобы Label был виден:

Скрываем все линии, границы и индикатор, заливаем фон чёрным цветом. Результат — такая диаграмма:

Книга и таблица из примера доступны в нашем репозитории на GitHub.

 Нет комментариев    279   1 мес   bi   BI-инструменты   tableau

Funnel chart в Tableau

Время чтения текста – 13 минут

Диаграмма в виде воронки — хороший выбор визуализации, если стоит задача отобразить достижение целей по ряду этапов. Сегодня мы посмотрим, как получить такую диаграмму в Tableau.

Таблица из примера доступна в нашем репозитории на GitHub

Данные должны быть представлены в следующем виде, и если вы получаете их при помощи Custom SQL Query, вам может быть полезен наш последний материал: «UNPIVOT данных с использованием CROSS JOIN».

В таблице из примера мы получим 6 разных этапов: Identify, Pursue, Contact, Proposal, Negotiation и Won. Для каждого нужно задать соответствующее вычисляемое поле: например, ниже описана формула для вычисляемого поля статуса Identify.

if ATTR([Status]) = 'Identify' or LOOKUP(ATTR([Status]), -1)="Identify" then SUM([Value]) END

Итого должно получиться 6 новых мер:

Перетяните Measure Values в верхнюю часть графика: должен получиться такой bar chart:

Над графиком в выпадающем меню отображения графиков поменяйте Standart на Entrie View — график должен в ответ расшириться:

Из Measure Values удалите меры CNT(Sheet) и SUM(Value), которые не относятся к воронке:

Измерение Status перенесите в поле Rows. Получится несколько столбиков — это и есть будущие этапы воронки:

Убедитесь, что все вычисляемые поля вычислены при помощи Table (down):

А Stack marks установлен на off:

Смените тип графика на Area:

Чтобы каждый этап был окрашен в собственный цвет, перенесите измерение Status в поле Color:

В фильтре Status справа отсортируйте этапы по убыванию, перетягивая левой кнопкой мыши в нужное место:

Зажав клавишу CMD на MacOS или Ctrl на Windows, зажмите левой клавишей мыши Measures Values в поле Columns и протяните в область рядом: должно появиться такое же, а на графике с воронкой рядом должен появиться идентичный график.

Нажмите на ось X у левого графика и перейдите в меню Edit Axis. В разделе Scale поставьте галочку на поле Reversed, чтобы «отзеркалить» левый график.

Получится такая диаграмма:

Поработаем над оформлением. Нажмите правой кнопкой мыши на область с наименованием этапов слева и поставьте галочку напротив «Show Header». Проделайте то же самое с осью внизу:

Скройте также индикатор внизу:

Нажмите правой кнопкой мыши по графику и перейдите в раздел Format. Перейдите в меню Format Lines и смените значение для каждого типа линий на None. В соседнем разделе Format Borders также везде установите None:

Затем перенесите измерение Status и меру Value в поле Label. Нажмите на SUM(VALUE) и перейдите в Add Table Calculation, чтобы добавить ещё процент от первого этапа. В поле Calculation Type выберите «Percent From», а в поле Relative to — «First». Чтобы отобразить на каждом этапе процент от предыдущего: нажмите правой кнопкой мыши по мере SUM(Value) и нажмите на Add Table Calculation. В поле Calculation Type выберите «Percent From», а в поле Relative to — «Previous».

После нажмите на Label, перейдите в Edit Label и расположите текст с процентным соотношением под статусом:

Выравнивание установите, как на скриншоте:

Ещё перенесите в Tooltip меру Value, чтобы отображать в нём абсолютные значения. Затем нажмите на Tooltip и поменяйте форматирование:

В итоге получится такой график, у которого в подсказках отображается значение по этапу, процент от прошлого этапа и процент от первого этапа:

На написание этой статьи нас вдохновил анлоязычный видеорецепт.

 Нет комментариев    415   1 мес   Data Analytics   funnel   tableau

UNPIVOT данных с использованием CROSS JOIN

Время чтения текста – 5 минут

Зачастую мы получаем данные в предагрегированном виде, когда каждая отдельная колонка является посчитанной метрикой. По аналогии мы получаем подобный результат, когда строим сводную таблицу в Excel и используем некоторое количество фактов для агрегации. Но что делать, если нам нужно произвести обратную операцию — Unpivot?

Как поступить, если в датасете понадобилось трансформировать данные в реляционный вид? В Tableau есть фича Unpivot, которая сделает всё сама: если датасет построен из файла, достаточно выделить нужные колонки и нажать на кнопку «Pivot». А в некоторых диалектах SQL, например, в Transact, уже есть встроенные функции, которые тоже делают это сами.

Но в случае, если датасет построен на Custom SQL Query из базы данных, у которой в арсенале отсутствуют встроенные функции для трансформации в сводную и обратно, необходим какой-то другой подход, и Tableau порекомендует для такой таблицы:

ID a b c
1 a1 b1 c1
2 a2 b2 c2

Воспользоваться таким стандартным универсальным, но не очень эффективным решением:

select id, ‘a’ AS col, a AS value
from yourtable
union all
select id, ‘b’ AS col, b AS value
from yourtable
union all
select id, ‘c’ AS col, c AS value
from yourtable

И в результате получить таблицу вида:

id col value
1 a a1
2 a a2
1 b b1
2 b b2
1 c c1
2 c c2

Порой, когда мы работаем с физической таблицей и нам надо быстро получить результаты для двух-трех колонок, действительно, подобное решение можно быстро применить, не задумываясь. Однако в случае, когда вместо таблицы содержится, например, сложный подзапрос с несколькими джойнами и нужно сделать Pivot для 5+ колонок, подзапрос вызовется целых 5+ раз, согласитесь, не очень действенно считать одно и тоже неоднократно. Вместо этого можно воспользоваться рецептом с CROSS JOIN, найденным на просторах Stack Overflow:

select t.id,
c.col,
    case c.col
        when 'a' then a
        when 'b' then b
        when 'c' then c
    end as data
from yourtable t
cross join
(
    select 'a' as col
    union all select 'b'
    union all select 'c'
) c

Разберём запрос подробнее. CROSS JOIN — перекрёстное соединение, декартово произведение, или, проще говоря, произведение всех строк со всеми. За ненадобностью в синтаксисе CROSS JOIN отсутствует ON — мы объединяем не по какому-то конкретному полю две таблицы, а сразу по всем существующим строкам.

Сначала мы формируем таблицу со всеми колонками, предназначенными для преобразования в строки. В нашем случае это колонки a, b и c: поэтому мы сделали таблицу c, в которой будет колонка col со значениями a, b и c:

(
    select 'a' as col
    union all select 'b'
    union all select 'c'
) c

Выглядит она так:

col
a
b
c

Затем таблицы yourtable и c объединятся перекрестным соединением, а после мы возьмём поля id, col и в зависимости от того, как называется ячейка в col, подставим соответствующие данные в поле data.

select t.id,
c.col,
    case c.col
        when 'a' then a
        when 'b' then b
        when 'c' then c
    end as value
from yourtable t
cross join
(
    select 'a' as col
    union all select 'b'
    union all select 'c'
) c

В итоге получим ту же самую искомую таблицу, с которой уже можно удобно работать любым аналитическим инструментом:

id col value
1 a a1
2 a a2
1 b b1
2 b b2
1 c c1
2 c c2
 Нет комментариев    113   1 мес   mysql   query   sql   tableau   лайфхак

Сравнение программ обучения Tableau и PowerBI

Время чтения текста – 11 минут

В этом году мне удалось пройти сертификацию Tableau Desktop Associate. И когда я думал о том, как к ней лучше подготовиться, я наткнулся на курсы elearning от Tableau, которые ещё и оказались бесплатными на 90 дней.

Я решил, что нельзя упускать такую возможность и решил пройти все три блока Fundamentals в бодром темпе. Когда получил сертификацию мне стало интересно, какие программы обучения предлагают другие производители BI-инструментов. И первым делом пошёл изучать обучающие материалы по PowerBI. В этой небольшой статье хочу попытаться сравнить программы обучения от Tableau и PowerBI.

Дисклеймер: в итоге у меня сформировалось предвзятое положительное отношение к Tableau, поэтому сторонникам PowerBI данная статья может оказаться не по нраву и в чем-то окажется субъективной (справедливости ради слова похвалы PowerBI тоже присутствуют).

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

Прежде всего, существует огромная пропасть в подходе к материалам и проверке их понимания. Несмотря на то, что обучающие материалы Tableau носят более технический характер и в меньшей степени уделяют внимание дизайну, обучаясь через их видео, всё же можно делать отличные рабочие визуализации. Что и говорить, после прохождения всех трёх ступеней обучения Tableau появляется желание творить новые крутые отчёты с использованием всех LOD Expressions, Filter Actions и создавать удобные интерфейсы. А вот после просмотра всех материалов по PowerBI остаётся один вопрос: зачем я потратил своё время? Для объективности сравнения и те, и другие материалы я изучал на английском языке. Думаю, в индустрии это стандарт, поскольку открыв 2-3 ссылки на русском понимаешь, что переведено это пяткой левой ноги.

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

Так выглядит хороший дашборд по версии Microsoft

Качество подготовки контента и примеров в обучении

Если посмотреть на логику изложения обучающих видео Tableau и вопросов в формате квиза, которые задаются в конце прохождения материала, начинаешь проникаться идеей софта. Но в случае с PowerBI тебя ждёт тотальное разочарование. Взгляните, к примеру, на материал об обнаружении выбросов, тут Microsoft предлагает построить диаграмму scatter plot и визуально определить все выбросы на глаз.

Дизайн отчётов и дашбордов

Существуют достаточно объективные придирки к обучающим материалам Tableau на тему дизайна графиков и элементов управления, но всё равно они сделаны аккуратно и красиво. А теперь взгляните на тот ужас, который предлагает в качестве результата работы аналитика Microsoft. А вот хорошо построенный дашборд по версии Microsoft.

Проверка полученных знаний из обучения

Во время обучения Tableau ты сразу же после небольшой лекции учишься применению куска изученного материала на практике. Нужно нажать конкретные кнопки в интерфейсе, чтобы решить задачу. В PowerBI предполагаются «лабораторные работы», которые должны были запуститься с удалённой машины. Мне не удалось начать ни одну лабораторную работу, я трижды писал в саппорт, саппорт так и не смог решить мою проблему, поэтому поэкспериментировать с заданиями в PowerBI у меня так и не вышло.

Результат работы аналитика по версии Microsoft

Следующие пункты больше относятся к самому софту, чем к программам обучения.

Кроссплатформенность

Я давно работаю с Tableau, и 4 года назад пересел на Mac. После перехода с Windows мой опыт использования Tableau никак не изменился: по сути, Tableau развивался, а я вместе с ним, но при этом ключевые элементы интерфейса команда не меняла. Я экспериментировал с построением отчётов в PowerBI, но мне были неудобны различные архаизмы Microsoft типа публикаций через какой-нибудь share-портал, где обязательно нужно иметь учётную запись MS и настраивать что-то через администратора. Вся эта головная боль жутко утомляет.

Однако гораздо больше меня поразил тот факт, что я не могу воспользоваться PowerBI на Mac. Вообще, совсем никак, и это принципиальная позиция Microsoft, которая в ближайшем будущем не планируется меняться. С моей точки зрения, такое программное обеспечение относится к сегменту B2B в области аналитики, предполагает подключение ко всевозможным СУБД, но отрицает факт существования альтернативной операционной системы, на которой потенциальное n-ное количество консультантов могут продвигать и использовать PowerBI как аналитический инструмент.

Наверняка есть рациональные причины, связанные с тем, что любой софт от Microsoft не очень здорово работает на Mac, но факт остаётся фактом: для меня софт становится недоступным. Тем не менее, я не искал лёгких путей и поставил PowerBI через Parallels для того, чтобы всё-таки честно посмотреть ещё раз на инструмент с учётом обучающих материалов.

Опции визуализации

И в Tableau, и в PowerBI очень крутые опции визуализации данных. К слову, в данном разрезе PowerBI всё же предлагает видео и чуть больше информации, чем обычно. Так что по этой части инструменты представлены одинаково хорошо.

Функциональность

А тут хочется отдать должное функциональности PowerBI. Действительно, багаж инструментов даже без подключения сторонних библиотек крайне широкий. К примеру, автоматическая кластеризация, Decomposition Tree, Data Profiler или Настройка фильтров по графику

Синтаксис внутреннего языка

Для работы с PowerBI следует выучить DAX. Это не язык программирования, а функциональный язык. Что-то своё написать не получится, но оно и не понадобится — внутри уже реализованы все функции, которыми нужно только научиться правильно пользоваться. Microsoft неплохо рассказывает про DAX в мануале. Определение новой меры на языке DAX выглядит так:

Revenue YoY % =
DIVIDE(
	[Revenue]
		- CALCULATE(
			[Revenue],
			SAMEPERIODLASTYEAR('Date'[Date])
	),
	CALCULATE(
		[Revenue],
		SAMEPERIODLASTYEAR('Date'[Date])
	)
)

Подготовка данных к анализу

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

Впрочем, в ETL-инструменте для очистки и предобработки данных Tableau Prep такое тоже реализовано

Выводы:

1) Программы обучения построены совершенно по-разному, методология погружения в инструмент от Tableau намного продуманнее и эффективнее. Есть возможность сразу же получить практический опыт решения задач и получить обратную связь (хоть и автоматическую).
2) Дизайн отчетов и дашбордов в обучающих материалах от Microsoft выглядит едва ли профессионально, у Tableau реализация выглядит на порядок лучше
3) Реализация проверки знаний от Microsoft ниже плинтуса (совершенно формальные тесты как в плохой школе), у Tableau реализовано хорошо, погружаешься в задачу, думаешь над ответом и решаешь.
4) Кроссплатформенность явно не является коньком PowerBI, однако в случае Tableau это отличное конкурентное преимущество
5) Функциональность и возможности инструментов, разумеется, находятся на высоком уровне, и в чем-то победу одерживает PowerBI.

Посмотрите наши обзоры дашбордов в Tableau, PowerBI, Google Data Studio, SAP Analytics Cloud, QlikSense, Redash и в других BI-системах.

 Нет комментариев    141   2 мес   bi   BI-инструменты   powerbi   tableau

Обзор дашборда в Tableau

Время чтения текста – 2 минуты

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

В видео рассказываю весь процесс создания дашборда в первом рассматриваемом инструменте — Tableau: как мы подготавливали данные, создавали отчёты, верстали дашборд, с какими сложностями и правками столкнулись, а также как опубликовать его на сервере Tableau Public и насколько результат соответствует поставленной задаче.

Мы оценили внутренней командой дашборд по критериям и получили следующие средние оценки (1 — худшая оценка, 10 — лучшая):

  1. Отвечает ли заданным вопросам — 10,0

  2. Порог входа в инструмент — 5,5

  3. Функциональность инструмента — 9,0

  4. Удобство пользования — 8,5

  5. Соответствие результата макету — 10,0

  6. Визуальная составляющая — 9,7

Итог — дашборд на Tableau получает 8,8 баллов из 10 от нашей команды. Посмотрите на полученный результат.

А что вы думаете о получившимся дашборде? Поставьте свои оценки в нашем Telegram-канале!

 Нет комментариев    112   4 мес   bi   BI guide   BI-инструменты   tableau
Ранее Ctrl + ↓