Calculated Fields в Tableau — это не просто “формулы в отчёте”, а полноценный инструмент для аналитики: от кастомных KPI до сложной логики сегментации, ранжирования и расчётов по окну. Если базовые функции уже знакомы, пора переходить к продвинутому уровню.
1. Row-level vs Aggregate calculations
Одна из самых частых ошибок — смешение уровней вычислений.
SUM([Sales]) / [Quantity]Такой расчёт вызовет ошибку, потому что `SUM([Sales])` — агрегат, а `[Quantity]` — нет. Корректно:
SUM([Sales]) / SUM([Quantity])Это важно для расчёта средних чеков, маржинальности и unit-экономики.
2. LOD Expressions: FIXED, INCLUDE, EXCLUDE
LOD-выражения помогают считать метрики на нужном уровне детализации независимо от визуализации.
Пример — продажи по клиенту:
{ FIXED [Customer Name] : SUM([Sales]) }Полезно для задач:
- lifetime value
- количество заказов на пользователя
- доля клиента в выручке
`FIXED` фиксирует уровень, `INCLUDE` добавляет измерения, `EXCLUDE` исключает их из расчёта. Это особенно полезно, когда нужно сравнить локальные и глобальные показатели.
3. Table Calculations для динамической аналитики
Table Calc работает уже после агрегации данных и позволяет строить:
- running total
- moving average
- rank
- percent of total
Пример ранга:
RANK(SUM([Sales]))Такие вычисления часто используют в дашбордах для топов, трендов и анализа динамики по периодам 📈
4. Условная логика и сегментация
Через `IF`, `CASE`, `IIF` можно строить бизнес-логику прямо в Tableau.
Пример сегментации клиентов:
IF SUM([Sales]) > 10000 THEN "VIP"
ELSEIF SUM([Sales]) > 3000 THEN "Средний"
ELSE "Обычный"
ENDЭто удобно для CRM-аналитики, ABC/XYZ-сегментации и построения персонализированных витрин.
5. Работа с датами
Продвинутые вычисления часто связаны с time intelligence:
DATEDIFF('month', [First Purchase Date], TODAY())Или:
DATETRUNC('quarter', [Order Date])С их помощью считают retention, длину цикла сделки, квартальные итоги и сезонность 🗓️
6. Обработка NULL и защита от ошибок
Чтобы расчёты не “ломались”, используйте:
IFNULL([Profit], 0)или
ZN([Measure])Для деления безопаснее:
IF SUM([Sales]) != 0 THEN SUM([Profit]) / SUM([Sales]) ENDЭто снижает риск некорректных KPI и пустых значений в дашборде.
Что важно запомнить
- Следите за уровнем агрегации
- Используйте LOD, когда нужна независимость от текущего вида
- Table Calculations подходят для аналитики “поверх” уже собранных данных
- Проверяйте NULL, деление на ноль и порядок вычислений
Продвинутые Calculated Fields делают Tableau не просто BI-инструментом, а средой для глубокой аналитики данных 🚀💡
Подборка каналов про IT — хороший способ найти ещё больше практики, кейсов и полезных разборов для аналитиков и разработчиков 👀