14 апреля 2022 1073
Не секрет, что мощность и гибкость вычислений, простой синтаксис, подробная справка, множество примеров и простота создания расчетных полей - это то, за что все любят Tableau. Вместе с Ксенией Агеевой, гуру в области BI, мы разберем несколько полезных приемов, как создать удобную понятную конструкцию и с легкостью восстановить прошлый проект в этом незаменимом для бизнес-аналитика инструменте.
Пять лепестков лотоса: вычисляемые поля в Tableau

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

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

Но для нашего сегодняшнего погружения - давайте представим, что мы строим сложносочинённые расчёты именно внутри отчета. Прежде всего, давайте определимся, что вообще считать сложным. 

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

Итак, наш план таков: 

  1. Разделите логику на порции или этапы

  2. Разложите исходные поля по папкам

  3. Пронумеруйте поля и папки

  4. Создайте валидационный лист

  5. Прокомментируйте расчёты и добавьте pop-up описания

Всё! Если вы на опыте, то дальше можно не читать. Если же пояснения всё же нужны - давайте поговорим о каждом из приёмов чуть подробнее :)

1. Разделите логику на порции или этапы

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

Tableau это, всё-таки, не IDE, функционал подсказок ограничен, а потому порционное деление облегчает отслеживание последовательности преобразований, которые мы применяем к данным.

А ещё иногда Tableau проще выполнять несколько вычислений по отдельности. Например, в случае табличных вычислений, таких как INDEX и WINDOW_SUM. Если вы поместите их оба в одну калькуляцию, вы рискуете потерять некоторую гибкость при вычислении таблицы, и, как следствие, контроль над результатом. 

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




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

  1. Bonus base

  2. Bonus values

  3. Weights %

  4. Coefficients

  5. Final Bonus

Важно здесь то, что нам нужно сделать много разных мелких вычислений. Большинство из этих вычисляемых полей представляют собой пару строк - и их гораздо легче понять по отдельности. Если у вас всё-таки остались условно крупные куски логики - позаботьтесь об отступах, чтобы уровни было хорошо видно.




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

2. Разложите по соответствующим папкам

Здесь стоит сказать очевидное - по умолчанию поля в панели слева будут расположены в алфавитном порядке. Если вы использовали джойны источников на уровне отчета - вы увидите ещё и группировку по источникам данных. Она полезна, когда достаточно просто знать источник, из которого берется поле, но все кастомные поля в таком случае будут лежать внизу списка, что тоже не всегда удобно. 

Вот так выглядит дефолтный алфавитный порядок полей. Хорошо, когда полей штук десять, ну может двадцать. А если больше?




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




3. Пронумеруйте поля и папки

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

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

На самом деле, иногда бывает уместно и папкам с исходниками дать какую-то нумерацию. Или a, b, c символы, чтобы добиться правильного порядка.

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




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


4. Создайте валидационный лист

Итак, теперь, когда вы разбили свою логику на небольшие фрагменты и пронумеровали свои вычисления, чтобы упростить управление ими, как вы будете это всё тестировать? Зачастую, аналитики сразу начинают создавать чарты и добавлять фильтры на основе получившихся вычислений и группировок. Но гораздо надежнее будет не бросаться сразу в огонь - чарты прекрасны сами по себе, и порой процесс визуализации захватывает нас, кружит голову и отвлекает от проверки точности расчетов. 

Вместо этого стоит начать с создания таблицы. Да-да, таблицы правят миром - а вы еще спрашиваете, почему пользователи просят у нас именно их? 

Например вот так:


источник: https://www.flerlagetwins.com/2021/09/complicated-calcs.html


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

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

5. Прокомментируйте расчеты прямо в полях

Мы все этим пренебрегаем в большей или меньшей степени, скорее в большей, но если вы реализуете сложный расчёт - убедитесь, что вы прокомментировали свои вычисляемые поля. 

Основных причин две. 

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

Вторая причина вытекает из первой - однажды вы будете передавать этот отчет коллеге, или сами получите отчет в наследство от другого человека. При передаче знаний вы можете столкнуться с нашей первой причиной и по ходу трансфера знаний мучительно вспоминать, что же было задумано. Если же человек получает легаси без доступа к телу разработчика - без комментариев процесс расследования займет куда больше времени. Совсем не обязательно замахиваться на лавры Толстого - будьте понятны сами себе, и всё будет хорошо. Вы помните, нас мало - пожалейте нервные клетки представителей Tableau комьюнити :)




Не стесняйтесь. Комментарии это не показатель вашей неуверенности в себе, это показатель профессионализма. К тому же, истории известны примеры приятных пасхалок и даже любовной милейшей переписки в комментариях к калькуляциям. 

Еще одной малоиспользуемой (напрасно!) фичей является Comment, который можно добавить через настройки поля по умолчанию. Скажем так, путь добавления этого описания не самый быстрый - но зато вы сможете видеть комментарий, не заходя в поле. Даже если просто скопипастить туда текст, который вы уже написали внутри калькуляции - это помогает.




Итог

Теперь мы умеем делить, структурировать и раскладывать - вполне классическое определение анализа. Этот лонгрид во многом вдохновлен содержанием очень классного англоязычного поста, но я сдобрила его приличным куском отсебятины. Отвашатина, как всегда, приветствуется - буду рада, если поделитесь вашими идеями, как еще можно сделать процесс создания расчётов в Tableau и других BI тулах проще и приятнее ;)

Источник: https://habr.com/ru/post/648233/

Последние статьи в блоге

В Учебном центре IBS планируется запуск курсов по продуктам TData

Читайте о стратегическом соглашении TData и IBS и наших новых курсах

11 июня 2025

Компетенции бизнес-аналитиков: Junior и Middle в сравнении

В условиях динамично развивающейся ИТ-индустрии важно чётко понимать, какие навыки и знания необходимы для успешной работы на каждом этапе карьерного пути. Сегодня обсудим разницу в компетенциях ИТ бизнес-аналитиков уровней Junior и Middle. Если вы только начинаете свой путь в ИТ бизнес-анализе или, наоборот, уже обладаете некоторым опытом, этот материал поможет вам понять, какие навыки необходимы на каждом уровне и как развиваться дальше.

Новости
05 июня 2025

Лимит на сбои. Как понять, что система перегружена, а не просто плохо сделана?

Оценить производительность системы непросто, а контролировать еще сложнее. Как сделать так, чтобы внедряемая или уже эксплуатируемая система справлялась с нагрузками? Можно ли в этом вопросе полностью положиться на разработчиков ПО или вендоров? И кто в итоге будет отвечать за все простои системы? Рассказывает Николай Марченко, директор отделения нагрузочного тестирования компании IBS. Начать следует с того, что разбираться с последствиями возможных сбоев в любом случае придется тем, кто работает непосредственно с системой. Поэтому о вопросах производительности лучше задуматься еще на этапе внедрения.

Новости
03 июня 2025

Кто такой аналитик 1С?

Аналитик 1С — это специалист, который занимается оптимизацией бизнес-процессов с использованием программного обеспечения 1С. Его задача — анализировать существующие процессы, выявлять недостатки и разрабатывать решения для повышения эффективности. Аналитик переводит бизнес-требования в технические задания для разработчиков, становясь мостом между пользователями и ИТ-отделом. Эта роль требует как технических знаний, так и навыков коммуникации, что позволяет вносить значительный вклад в развитие компании и улучшение её конкурентоспособности.

Новости
28 мая 2025

Разбор задачи: UML-диаграмма классов для системы регистрации на курсы

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

22 мая 2025

Бизнес-аналитик и системный аналитик в ИТ: кто есть кто и в чем разница

Современные ИТ-проекты — будь то корпоративные решения, мобильные приложения или интеграционные платформы — требуют точного понимания как бизнес-целей, так и технических ограничений. На пересечении этих задач появляются две ключевые роли: бизнес-аналитик (БА) и системный аналитик (СА). Несмотря на схожесть направлений деятельности, эти специалисты действуют на разных уровнях и выполняют разные функции. Рассмотрим, кто они, каковы их зоны ответственности, чем они похожи, а чем принципиально отличаются.

21 мая 2025

5 распространенных ошибок в работе системных аналитиков

Ошибки системных аналитиков редко видны сразу, но последствия могут быть весьма заметными. Срыв сроков, недовольство заказчика, бесконечные правки требований, ощущение, что проект «расползается» — это часто не проблема менеджмента, а не выявленные вовремя аналитические ошибки и риски. Мы регулярно анализируем дипломные проекты выпускников курса «Системный аналитик» — не ради оценок, а чтобы понять, какие трудности реально возникают на практике, и обозначить направления для дальнейшего развития навыков. Даже у мотивированных специалистов с практическим опытом есть «слепые» зоны. Где-то не хватает чёткости в декомпозиции, где-то — качества проработки связей между сущностями, понимания архитектуры. Даже отсутствие умения аргументировать выбор решений перед бизнесом может негативно повлиять на проект. Мы вместе с Екатериной Тихомировой — практикующим аналитиком с более чем десятилетним опытом — разобрали некоторые типичные ошибки и риски, и способы, как их предотвратить.

20 мая 2025

Итоги работы Центра сертификации IBS

Центр сертификации IBS начал свою работу в апреле 2023 года, поэтому мы традиционно подводим итоги работы в апреле-мае. Прошедший год стал для нас периодом важных изменений. В 2024 году произошло несколько знаковых событий: наша команда обновила программы сертификации системных аналитиков и Java-разработчиков, подготовила к запуску сертификацию бизнес-аналитиков, получила аккредитацию от АПКИТ и стала обладателем Гран-при премии «Смарт пирамида». Рассказываем подробнее, каких результатов мы достигли в уходящем году и как это отразилось на нашей работе.

Новости
19 мая 2025

Какой метод тестирования выбрать: черный, белый или серый ящики?

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

14 мая 2025

Удостоверение, диплом и сертификат: в чем разница и что выбрать

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

12 мая 2025

Выгодный май — на курсы залетай!

Друзья, спешим поделиться отличной новостью — вы можете получить скидки до 40% на наши популярные курсы. Это отличная возможность улучшить навыки и инвестировать в профессиональное развитие по более выгодной цене. Выбирайте направление и подавайте заявку прямо сейчас!

05 мая 2025

Кейс: кастомизация курса по Jira

Кейс по проведению кастомизированного курса «Основы Jira» для крупной российской компании, занимающейся производством цифровой техники.

05 мая 2025

Зачем специалистам по 1С изучать системный анализ и архитектуру ПО

Как системный анализ и архитектура ПО помогают эффективнее работать в 1С.

29 апреля 2025

Банка Nutella, IT, ESG — что общего?

Когда вы читали этикетку на продукте не из-за состава, а из-за ESG-маркировки?

25 апреля 2025

Каковы плюсы и минусы монолитной и микросервисной архитектуры при разработке ИТ-продуктов?

Монолитная и микросервисная архитектуры представляют собой два различных подхода к разработке ИТ-продуктов, каждый из которых имеет свои преимущества и недостатки.

25 апреля 2025

Станьте архитектором ПО с выгодой! Только в апреле сэкономьте 20 000 ₽ и получите новый модуль по микросервисам в подарок

24 апреля стартует обучение на комплексной программе «Архитектор ПО. Путь к мастерству в проектировании систем»*.

14 апреля 2025

Архитектурные ошибки в корпоративных системах, которые могут создать проблемы в долгосрочной перспективе

В основе любой информационной системы — сложная структура. Спроектировать ее не легче, чем построить дом. Какие ошибки можно допустить при планировании ИТ-архитектуры, и в чем их основные причины? К чему они могут привести в долгосрочной перспективе и как этого избежать? Рассказывает Михаил Рощин, заместитель директора отделения управления проектами и архитектуры IBS.

Новости
10 апреля 2025

Кейс: Интенсив по управлению проектами для промышленной компании

Мы адаптировали курс по управлению проектами под запрос команды крупной промышленной компании и провели обучение. Вот что из этого вышло.

27 марта 2025

Кейс: Обучение сотрудников крупной компании работе с ClickHouse

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

19 марта 2025

Платформа сертификации IBS получила аккредитацию АПКИТ

Ассоциация предприятий компьютерных и информационных технологий (АПКИТ) приняла новый регламент сертификации ИТ-специалистов.

Новости
10 марта 2025

Не нашли, что искали? — Просто напишите, и мы поможем

Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.