Изучаем DAX Time Intelligence с помощью ViTalk GPT

Привет, Хабр! Сегодня я хочу поговорить о возможностях и ограничениях функций Time Intelligence в Visiology. Это очень интересный раздел языка DAX, который позволяет быстро делать показательные расчеты, например, сравнивая показатели текущего периода с предыдущими. Однако в его реализации для Visiology и Power BI есть некоторые различия (впрочем, не влияющие на результат). В этой статье мы поговорим об этой разнице, а также я наглядно покажу, как чат-бот ViTalk GPT помогает разобраться с особенностями работы различных функций.

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

Time Intelligence еще с прошлого года поддерживается в Visiology, например мы можем использовать функцию TOTALYTD

TOTALYTD (<выражение>, <даты>)

В результате мы получим, например, такой дашборд:

673567632e7802f12ec105adc18cd2f4.png

Также в Visiology непосредственно поддерживаются Time Intelligence-функции DATEADD и SAMEPERIODLASTYEAR, а также функции работы со временем, например TODAY, DATE, DATEDIFF, YEAR, MONTH, DAY.  Они позволяют выполнять расчеты с периодами. Но чтобы правильно пользоваться этими функциями, необходимо подробно читать документацию…или воспользоваться ИИ-ассистентом ViTalk GPT, которого мы только что обновили.

1. Информация о функциях Time Intelligence в ViTalk

Я лично работал над ViTalk GPT и могу точно сообщить, что после недавнего обновления бота, в нем можно узнать всю достоверную информацию об одной из самых любопытных функций этого раздела — SAMEPERIODLASTYEAR — и ограничениях её использования в других функциях:

ab5b06a5be836a884bcb263150f724c5.png

Бот четко рассказывает, как использовать SAMEPERIODLASTYEAR с CALCULATE в Visiology. В ответе приводится один из корректных примеров

Аналогично в ViTalk GPT можно получить информацию и по DATEADD

ca0cd52abb845fb4a8cac08704efa82b.png

2. Генерация мер Time Intelligence в ViTalk

Также можно получить пример использования SAMEPERIODLASTYEAR для продаж за прошлый год, причем, обратите внимание, на этот раз ViTalk GPT сгенерировал решение без TOTALYTD.

fe6543c72d0ef00b208f4ac5d5d22a22.png

Кроме того, при необходимости можно генерировать и несколько мер в одном запросе. Главное — задать ViTalk GPT правильный вопрос.

52494fdc3589893588c3c56536a8a120.png

Конечно, для TOTALYTD есть лаконичный синтаксис с TOTALYTD ([date], SAMEPERIODLASTYEAR) и он тоже поддерживается. Эта информация уже внесена в базу знаний ViTalk GPT:

e81c499241631e19eea255575e968aec.png

Обращаясь к ViTalk GPT, вы можете получить корректный синтаксис для использования TOTALYTD и SAMEPERIODLASTYEAR.

3. Ответы на вопросы про ограничения Time Intelligence функций в Visiology

Если вы уже пробовали работать с Time Intelligence в Visiology, то могли убедиться, что для некоторых функций есть ограничения. На вопросы о таких особенностях также можно получить ответ через ViTalk GPT. В частности, бот показывает корректный синтаксис для функции SAMEPERIODLASTYEAR в рамках CALCULATE

0a063b0dbf2e5c3f022710812112e453.png

Обратите внимание, ViTalk не только сообщил, какой вариант синтаксиса для CALCULATE и SAMEPERIODLASTYEAR не поддерживается, но и также порекомендовал корректную замену. Это очень полезная фишка нашего бота, которая экономит пользователям кучу времени. 

Заключение 

Если вы собираетесь использовать функции Time Intelligence на своих дашбордах, но еще не до конца изучили особенности их работы в Visiology, я бы рекомендовал обращаться к нашему ИИ-боту ViTalk GPT. Он гарантировано обучен всем нюансам их работы и даже может полностью решить за вас базовые задачи формулирования запросов с использованием DATEADD и SAMEPERIODLASTYEAR, TODAY, DATE, DATEDIFF, YEAR, MONTH, DAY и другими функциями.

Успешных дашбордов!

© Habrahabr.ru