Всем привет, меня зовут Михаил Меркурьев, я продуктовый аналитик в компании ManyChat. Год назад мы решили использовать Tableau в качестве основного Б.
И.
инструмент в компании и столкнулся с рядом проблем, связанных с необходимостью наладить эффективную работу с инструментом аналитиков, менеджеров по продукту и других заинтересованных сторон.
В этой статье я собрал свои личные советы по использованию Tableau. Многие из них я использую регулярно, копируя фрагменты кода или освежая память о подходе.
Надеюсь, эта статья будет особенно полезна тем командам, которые только настраивают Tableau — некоторые приёмы нужно сделать один раз и это значительно упростит жизнь.
Мне бы самому очень хотелось найти такого проводника в начале нашего пути.
Несколько слов о конструкции.
Сначала я расскажу об общих подходах, которые мы разработали для Tableau Server, а затем покажу конкретные приемы, которые могут сделать вашу жизнь лучше.
Давай начнем!
Общие подходы к использованию Tableau Server
Сейчас у нас 112 пользователей и Tableau — довольно популярный инструмент, но на пути к тому, чтобы сделать инструмент удобным для использования всеми, мы столкнулись с рядом трудностей.Ниже мы рассмотрим топ подобных проблем.
Используйте представления вместо пользовательского SQL
Использование представлений в первую очередь дает нам гибкость, если в базе данных происходят изменения.Например, если раньше какая-то таблица стала называться по-другому, приходилось заходить во все дашборды и менять Custom SQL вручную.
Или, используя представления, мы можем посмотреть зависимости между ними и уловить нежелательные связи.
Например, когда запрос ссылается на другой запрос, а он ссылается на первый, это может вызвать ненужную загрузку базы данных.
И, наконец, представление можно повторно использовать в других отчетах.
Все вышеперечисленное становится крайне трудоемким, если использовать пользовательские запросы в табло, т.е.
все приходится просматривать вручную.
Плюс при разработке отчета можно удобно протестировать — просто обновляете код представления в IDE и обновляете источник данных в Tableau, и результат готов.
Кроме того, мы используем в качестве базы данных Снежинка , и в нашем СХД есть все необходимые данные.
Нам не нужно выполнять соединения источников на уровне Таблицы.
Это значительно сокращает время работы с Tableau и дает возможность перенести всю логику вычислений в вид .
Мы начали использовать Tableau только как инструмент визуализации.
До
После
Управление доступом между проектами
Чтобы не показывать ненужные отчеты и упростить навигацию по всем отчетам, мы создали проекты/папки, каждая со своим уровнем доступа.Например, при публикации отчета в Черновике его увидят только аналитики.
Этап содержит отчеты, которые еще находятся в работе, но которые уже можно показать клиентам.
Продукция уже содержит готовые отчеты, сгруппированные по бизнес-отделам, доступные каждому.
Редактирование книги на сервере Tableau, если вы не являетесь ее создателем
Небольшой хак, позволяющий редактировать отчет другого аналитика.Мелочь, но позволяет быстро исправить явную опечатку или добавить новый фильтр без поиска автора и без скачивания книги.
Однако имейте в виду, что в этом случае логин/пароль от источника данных могут быть утеряны.
Различные методы подключения данных: Извлечение, Live, Tableau Server
В какой-то момент у нас возникла проблема: как быстро работать в Tableau с представлениями, подсчет которых занимает много времени? Это напрямую влияет на время загрузки отчета.Решений было несколько — материализация представлений в таблицы или выдержки в Tableau по расписанию.
Материализация — это отдельный процесс, когда мы сохраняем результат просмотра в отдельную таблицу.
Если говорить простым языком, то процесс выглядит так.
Код
Наша команда дата-инженеров занимается материализацией.CREATE OR REPLACE TABLE DMA.MV_TEST AS SELECT * FROM DMA.V_TEST
И мы ставим на материализацию те взгляды, которые нам будут нужны постоянно, или давно рассматриваются.
Пример таблицы, из которой мы каждый день автоматически материализуем просмотры
Если запрос из представления вычисляется относительно быстро, то его можно подключить к Таблице и сохранить как экстракт. При работе с экстрактами мы руководствуемся следующим правилом:
- До 30 миллионов строк -> Извлекать
- Более 30 миллионов строк -> Жить
- В книге более 30 миллионов строк и множество выдержек -> Извлечение сервера Tableau
Использование функций администратора сервера Tableau — задания, представления
Отчеты «Фоновые задачи для извлечений» и «Задания» решают проблему мониторинга всех обновлений извлечений.В связи с тем, что у нас ежедневно обновляется +70 отчетов, через этот отчет можно быстро локализовать проблему, дашборды которых сегодня не обновились.
Используйте шаблоны оформления книг
Автор этой истории: вголовнева В связи с тем, что каждый из нас создавал отчеты по-своему и под разные задачи, в какой-то момент мы поняли, что у наших клиентов возникают проблемы с работой разных отчетов.Мы подошли к ним и спросили, что случилось.
Основными проблемами были:
- Найдите нужные вам отчеты в Tableau.
- Разные названия фильтров и разные местоположения.
Из-за этого их поиск занимает много времени.
- Между документацией проекта/отчета и самой информационной панелью нет прямой связи.
- Доступа к исходному коду нет, из-за этого невозможно посмотреть исходные запросы и понять особенности вычислений.
И вдохновившись этим решением, мы сделали свой шаблон.
Основные правила, которые мы для себя сформулировали: Фиксируем расположение основных фильтров, их последовательность и порядок.
Например, мы всегда размещаем фильтры даты и все связанные с ними фильтры во второй строке в строго определенном порядке.
Фильтры всегда располагаются сверху.
Они выделяются как основные, имеют всегда фиксированный порядок.
Это позволяет «освоиться» и быстро их найти.
Исключением будут те шаблоны, где Тип бизнеса, Страна, Группа стран не являются основными, а применимы только для одного графика.
Для остальных фильтров выделяем специальное место и фиксируем их размер.
Поскольку остальные фильтры используются реже, «привыкания» к месту не происходит; мы просто размещаем их ниже в удобном для нас порядке.
Если необязательных фильтров немного, их можно отнести в сторону.
Выделяем специальное место для документации для отчета
Если есть документация на приборную панель, то для нее есть отведенное место.
Фиксируем основные правила ведения дашбордов
Все размеры и шрифты четко записаны.
Благодаря тому, что все размеры (высота разделов для фильтров и заголовков) фиксированы, эффекта «перепрыгивания» заголовков нет. Мы согласны с тем, что весь исходный код отчетов доступен для просмотра.
В отчетах Tableau это выглядит так:
Хаки с информационными панелями
Далее идут советы/лайфхаки/методы, которые мы используем каждый день в наших отчетах.Вы можете скачать рабочую тетрадь с примерами.
здесь .
Параметры и измерения
Чтобы быстро проанализировать данные, часто приходится использовать разбивку по разным измерениям.Чтобы избежать создания нескольких листов с разными комбинациями измерений, вы можете использовать параметры.
Шаг 1. Создайте параметр
// Dimension Parameter
Customer Name
Ship Mode
Country/Region
City
State
Category
Sub-Category
Product Name
Discount
Шаг 2. Создайте вычисляемое поле, в котором будет произведена замена.
// Dimension Breakdown
CASE [ Dimension Parameter]
WHEN 'None' THEN ''
WHEN 'Order ID' THEN [Order ID]
WHEN 'Customer Name' THEN [Customer Name]
WHEN 'Ship Mode' THEN [Ship Mode]
WHEN 'Country/Region' THEN [Country/Region]
WHEN 'City' THEN [City]
WHEN 'State' THEN [State]
WHEN 'Category' THEN [Category]
WHEN 'Sub-Category' THEN [Sub-Category]
WHEN 'Product Name' THEN [Product Name]
WHEN 'Discount' THEN STR(ROUND([Discount],2))
ELSE ''
END
Варианты и даты
Эти параметры также помогут вам переключать степень детализации времени.Например, измените группировку по году на группировку по дню, месяцу.
Кроме того, в связи с тем, что графики могут содержать незаконченную неделю или месяц, вы можете сразу исключить данные с помощью отдельного фильтра.
Как это сделать: Шаг 1. Создайте параметр
Шаг 2. Создайте фильтр и установите для него значение True.
Если параметр находится в Исключать , то на панели мониторинга появятся только точки, для которых условие выполнено.
Если в Включать , то условие фильтра всегда будет выполняться и ничего не будет скрыто.
CASE [Not Finished Period]
WHEN 'Exclude' then DATE(DATETRUNC([Period Granularity], TODAY())) > [My Date]
ELSE TRUE
END
Ээкспортировать необработанные данные
Иногда, когда отчет готов, заинтересованные стороны хотят получить из отчета необработанные данные с определенными фильтрами.Например, идентификаторы страниц, чтобы пригласить таких пользователей на собеседование.
Чтобы облегчить доступ к ним без оформления дополнительного доступа к базе данных или расширенных прав на Tableau, можно вывести лист, связанный с основным отчетом, с необходимыми необработанными полями.
Преимущество этого подхода заключается в том, что он устраняет множество специальных запросов, а также экономит на учетных записях с расширенными правами Tableau.
Полученные данные можно скачать в виде таблицы, нажав «Кросс-таблица».
Показывать метки только в конце диаграмм
Простое решение для уменьшения шума в графиках без уменьшения информативности.
Добавить плавающие контейнеры в качестве всплывающей подсказки
Если вы хотите поддерживать чистоту приборной панели, когда на ней много фильтров.
Менее важные можно скрыть во всплывающей подсказке.
Шаг 1. Создайте пустой плавающий контейнер и включите кнопку.
Шаг 2. Добавьте в контейнер необходимый контент
Шаг 3. Подставляем нужные картинки и конструкции контейнеров
Шаг 4. Отладка в режиме просмотра
Иерархии
Простой инструмент, позволяющий делать вложенные разбивки.
Используйте «Действия» для ссылки на документацию.
Чтобы разместить сразу несколько ссылок на разные части документации на большом дашборде, можно вставить действия, если пользователь нажимает на конкретный дашборд. Однако действия можно использовать и для других целей.
Шаг 1. Создайте лист, который будет называть Action
Шаг 2. Создайте действие
Меню с Действиями находится здесь: Рабочий лист → Действия.
Далее выбираем, что именно должно делать Действие — перенаправлять на сайт, выделять значения, фильтровать и т.д. В нашем случае выбираем Перейти по URL .
В следующем окне выбираем лист, нажав на который должно произойти нужное нам действие на приборной панели.
Вставьте ссылку на документацию и укажите, что ссылка открывается в новой вкладке браузера.
Шаг 3. Добавьте лист на дашборд и протестируйте результат
Вуаля, когда вы нажимаете на лист на приборной панели, во всплывающей подсказке появляется ваша ссылка на документацию.
Рассчитать доверительные интервалы для A/B-тестов
Чтобы предоставлять интерактивные отчеты продакт-менеджерам о проведении экспериментов, мы начали рассчитывать всю статистику прямо в Tableau. Конечно, это не универсальное решение, но наша реализация достаточно проста в реализации.
Пример визуализации
Например, переход на PRO-подписку.
На уровне SQL готовим 2 группы и рассчитываем для них конверсию.
Дальше идем шаг за шагом.
Шаг 1. Создайте два вычисляемых поля для расчета верхней и нижней границ доверительного интервала.
-- Lower Limit
[PRO CONVERSION] - 1.96*SQRT(([PRO CONVERSION]*(1-[PRO CONVERSION]))/COUNTD([USER_ID]))
-- Upper Limit
[PRO CONVERSION] + 1.96*SQRT(([PRO CONVERSION]*(1-[PRO CONVERSION]))/COUNTD([USER_ID]))
Шаг 2. Добавьте вычисляемые поля в Detail
Шаг 3. Добавьте их в окончательную диаграмму в Tableau.
Создаём Опорную строку, где подставляем наши вычисляемые поля в Значение.
Место для размышлений
Эта статья скорее сборник проблем, с которыми мы столкнулись.Решив эти проблемы, мы начали экономить часы работы при построении отчетов, проверке гипотез и получении инсайтов.
Изучение нового инструмента — длительный процесс; не все методики всегда подходят для поставленной задачи, некоторые использовались лишь один раз или не прижились среди команды аналитиков.
Однако каждый день мы находим что-то новое и стараемся собрать лучшие техники в нашей базе знаний и статьях, подобных этой.
Спасибо ребятам из русскоязычного сообщества Tableau и особенно Роме Бунину, который делится интересными и полезными практиками работы в Tableau в Рунете.
Напишите в комментариях, какие лайфхаки и хитрости вы используете, чтобы облегчить работу в Tableau?
Ссылки
Документация
Группировка книг по проектам Параметры Фоновые задачи для извлечений Управление заданиями на сервере Tableau Этикетки Советы Tableau Online: экстракты, живые соединения и облачные данные ДействияПолезные ссылки по теме
Блог Романа Бунина о визуализации данных Канал Penguin Analytics на YouTube, посвященный методам Tableau Плейлист Gronify на YouTube о техниках Tableau Табло сообщества Полезные приемы работы с Tableau Теги: #аналитика #Визуализация данных #sql #manychat #manychat Team #tableau #визуализация #лайфхаки-
Ягуар
19 Oct, 24 -
Маршрутизатор Cisco 1603
19 Oct, 24 -
К Статье О Приближениях
19 Oct, 24