Работа над «DAX Fiddle» в виде Telegram бота

в 20:37, , рубрики: AI, dax, генерация DAX, дашборд

Для многих языков есть свои online песочницы, например, для POSTGRES есть условный PostgreSQL Fiddle, также и для аналитического языка DAX хотелось бы побольше подобных инструментов. Существующий dax.do позволяет выполнять запросы условно только на стандартной схеме Contoso, и в век AI хотелось бы иметь инструмент для быстрого выполнения DAX запросов для произвольной схемы данных. Также генерация самой схемы и заполнение её данными также являются трудоемкими, и хотелось бы отдать это всё AI.

Кроме того, сейчас популярны Telegram боты, в связи с этим появилась идея создания Telegram бота для выполнения DAX (и построения простейшего дашборда-таблицы) на произвольной схеме данных, с автоматически сгенерированными данными, своего рода DAX Fiddle. Интересующимся DAX Fiddle — добро пожаловать под кат :)

При исследовании DAX меры в некоторых случаях удобно получить результат, даже без схемы данных и, соответственно, исходных данных. В таком случае может помочь инструмент (например, Telegram бот), который для заданного DAX меры на основе AI восстанавливает схему данных и исходные данные, а также выполняет запрос с мерой на сгенерированных тестовых данных на основе «AI DAX движка», получая своего рода DAX дашборд с исходной мерой.

Рассмотрим в качестве примера простую DAX меру:

Sum = SUMX(sales, sales[price] * sales[quantity])

причем добавим условие анализа по sales[productid], т.е. в итоге отправим боту

Sum = SUMX(sales, sales[price] * sales[quantity])
 by sales[productid]

Получим следующий результат:

Работа над «DAX Fiddle» в виде Telegram бота - 1

В итоге генерируются исходные данные для таблицы sales, генерируется валидный DAX с SUMMARIZECOLUMNS и предложенной мерой и строится своего дашборд на основе полученного SUMMARIZECOLUMNS. Данные в сгенерированном «дашборде» зачастую являются валидными, но периодически могут быть невалидными.

Можно рассмотреть также несколько более сложную меру, и также бот дает неплохой результат и строит своего рода «дашборд».

Month Sales % =
SUM ( sales[amount] )
    / CALCULATE ( SUM ( sales[amount] ), REMOVEFILTERS ( calendar ) )
Работа над «DAX Fiddle» в виде Telegram бота - 2

Стоит отметить, что в боте использовалась всего лишь модель gpt-4o, но результаты можно считать неплохими.

Надеюсь, работа над такими инструментами и сами инструменты вида DAX Fiddle могут быть полезными для аналитиков и разработчиков. Успехов в дашбордах и изучении DAX :)

Автор: koanse

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js