14 апреля 2022 1472
Не секрет, что мощность и гибкость вычислений, простой синтаксис, подробная справка, множество примеров и простота создания расчетных полей - это то, за что все любят 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/

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

Разработка видеокурса «Angular. Продвинутый уровень» для ИТ-команды оператора связи

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

Новости
20 августа 2026

Спецпредложение на курсы по Astra Linux

Учебный центр IBS, авторизованный учебный центр «Группы Астра», объявляет о специальной цене на официальные курсы по операционной системе Astra Linux Special Edition 1.8.

Новости
17 августа 2026

ИИ-агенты в ERP-системах: каковы глобальные тренды и каким путем идет Россия

Ведущие ERP-вендоры переводят ИИ в режим автономных операций. В России этот сценарий пока не реализуется: западные вендоры ушли, облачные ИИ-релизы недоступны, регуляторы требуют переходить на суверенный контур и локальные LLM. О развитии рынка и стратегиях для бизнеса — в материале IT-World.

Новости
11 августа 2026

Саммари вебинара «ИИ-инструменты в работе архитектора ПО»

Дмитрий Овчаренко, технический директор с 15-летним опытом в архитектуре ПО, на сквозном примере стартапа — платформы для кондитеров — показал, как ИИ помогает архитектору ускорить работу на всех этапах: от чистого листа до готовых артефактов для команды.

Новости
07 августа 2026

Контроль качества ИИ-систем: от теории к практике

На результаты внедрения искусственного интеллекта в компаниях влияет сложный комплекс факторов. Для получения эффективного решения необходим контроль его качества и устранение узких мест на протяжении всей работы над проектом. О том, как этого добиться, рассказали заместитель директора центра перспективных разработок IBS Денис Воденеев и старший аналитик группы Data Science IBS Илья Гайдуков.

Новости
05 августа 2026

Саммари вебинара «Искусственный интеллект для бизнес-аналитика. Автоматизация для усиления экспертизы»

Максим Охманюк, эксперт с 25-летним опытом в IT, бизнес-анализе и управлении проектами, разобрал, как ИИ становится инструментом усиления аналитика, а не его заменой.

Новости
31 июля 2026

Как мы проектировали систему оценки ИТ-персонала для федерального ритейлера

В Учебном центре IBS мы разрабатываем методологию оценки персонала под задачи конкретного клиента. В крупной федеральной розничной сети с десятками ИТ-ролей и разрозненными критериями уровней специалистов это потребовало создания единой системы с нуля. Рассказываем, как это было.

28 июля 2026

Будущее разработки ПО: от кода к оркестрации агентов

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

Новости
23 июля 2026

IBS запускает независимую сертификацию для тестировщиков ПО

Центр сертификации IBS инициировал новую программу независимой оценки квалификации для тестировщиков программного обеспечения. Сертификация IBS позволяет ИТ-специалистам систематизировать знания, подтвердить соответствие единому стандарту качества и повысить конкурентоспособность на рынке труда.

21 июля 2026

Внедрение BI-систем: почему проект может не дать результатов

Реализация системы бизнес-аналитики (BI) может пройти технически гладко, но не принести ожидаемого эффекта компании. Причина обычно не в самой платформе, а в организации работы над проектом. Начальник отдела витрин данных и аналитики IBS Анна Филиппова поделилась взглядом на то, почему возникают такие ситуации и как их избежать.

17 июля 2026

Саммари вебинара «Проектирование высоконагруженной системы на примере агрегатора авиабилетов»

Алексей Додонов, эксперт с 20-летним опытом в ИТ, на сквозном кейсе разобрал эволюцию архитектуры стартапа по продаже авиабилетов — от монолита до распределённой системы, и как команда решала проблемы производительности на каждом этапе.

16 июля 2026

Бесплатный вебинар «Результативный ИИ в бизнесе: как внедрять безопасно, измеримо и с реальной пользой»

Искусственный интеллект — это уже не просто тренд, а рабочий инструмент. Но как перейти от пилотов и экспериментов к системному процессу с понятными метриками и управляемыми рисками?

Новости
03 июля 2026

ИИ в бизнесе: почему экономия на зарплате не всегда равна прибыли

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

Жизнь компании
18 июня 2026

Саммари вебинара «Техсобес на Java: как системный подход и работа с ИИ превращают стресс в оффер»

Владимир Низов, технический директор с 10-летним стажем и эксперт Учебного центра IBS, рассказал, почему кандидаты проваливают технические интервью и как этого избежать. Отдельно разобрал работу с ИИ. Главное: заучивать тысячи страниц не нужно. Достаточно освоить индексный подход и единый паттерн системного дизайна. А ИИ воспринимать как инструмент с чёткими ограничениями.

Новости
09 июня 2026

Опыт развертывания корпоративной/ведомственной ИИ-инфраструктуры

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

Новости
02 июня 2026

«Аниматор с провалами памяти»: 6 ограничений ИИ, которые не дают вам писать качественный код

Вы когда-нибудь просили ИИ написать метод на Spring Boot, получали красивый, идеально отформатированный код, а он не работал? Потом вы копали глубже и находили, что нейросеть использовала RestTemplate вместо WebClient, забыла про @Transactional, а в методе с @PreUpdate пыталась изменить данные, которые уже ушли в SQL. И вы думали: «Ну, нейросеть же глупая». Нет. Не глупая. Она просто пишет код не как человек.

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

Роль и место России в мировой гонке в сфере ИИ

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

Новости
21 мая 2026

Систематизация ИИ-компетенций: курсы под роли, карты эффективности и модули в комплексных программах

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

Новости
18 мая 2026

Как защитить бизнес и данные при внедрении ИИ

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

Новости
13 мая 2026

Искусственный архитектор: как нейросети справляются с проектированием ПО

В этой статье расскажем про большие языковые модели в приложении к работе архитектора ПО. Вместе мы посмотрим, насколько хорошо GPT понимает ИТ-архитектуру и сможет ли уже сегодня заменить архитектора. Пора разобраться, насколько глубоко ИИ может встроиться в рабочие процессы архитектора ПО — и стоит ли ему там оставаться.

Новости
24 апреля 2026

Нужна помощь? Оставьте заявку, и мы свяжемся с вами в ближайшее время

Согласен получать на e-mail информационные рассылки о новостях Учебного центра IBS
Корпоративное обучение Бесплатные семинары Оценка персонала Сертификация О нас Стать тренером Блог Личный кабинет
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.