Первый проект «Галактики» в статусе официального поставщика Intel

 : Новости

В 2015 году важной задачей для корпорации «Галактика» стала разработка генератора запросов на языке DAX по заказу корпорации Intel, мирового лидера в области высоких технологий. Подобных решений практически нет на рынке, поэтому в проекте совмещались и исследования, и проектирование новой архитектуры, и программирование в сжатые сроки.

Язык DAX (Data Analysis eXpressions – выражения для анализа данных) создан компанией Microsoft для автоматизации расчетов в приложении Power Pivot для Excel, табличных моделях Analysis Services и Power BI.
Ранее корпорация «Галактика» уже использовала язык DAX в рамках проекта «Галактика BI» при тестировании работы компонент Ranet OLAP и дизайнера панелей мониторинга (Dashboard) «Галактика Бизнес-Монитор» (Ranet Analytics) на табличных моделях Analysis Services. Существующие решения легко и без каких-либо ограничений поддерживают работу с табличными моделями Analysis Services. Однако в ходе тестирования «Галактика Бизнес Монитор» запросы на языке DAX разрабатывались вручную.

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

Преимущества генератора запросов:

  • открытое API обеспечивает простоту встраивания компонент Ranet UI в другие приложения;
  • оперирование простыми понятиями (фильтр, колонка) и освобождение разработчиков от необходимости в деталях разбираться с синтаксисом языка DAX;
  • автоматическое создание DAX-запросов для анализа данных и формирования отчетов, что экономит время на разработку решений;
  • наличие визуального дизайнера DAX-запросов позволяет разработчикам и бизнес-пользователям быстро настраивать аналитические отчеты, постепенно осваивая синтаксис языка DAX.

[learn_more caption=»Подробное описание проекта»]

Успешный пример

Intel – генератор DAX-запросов Ranet UI позволяет сэкономить время разработки и сконцентрироваться на создании собственных инновационных решений.

Компания

Intel Corporation

Отрасль

Height Tec (Полупроводники)

Используемый продукт

Ranet UI

Сейчас Корпорация Галактика – официальный поставщик решений для Корпорации Intel.

Обзор

Профиль клиента

Корпорация Intel – крупнейший в мире производитель микропроцессоров и полупроводниковых компонент для промышленного и сетевого оборудования.

Бизнес-ситуация

Разработать программное API для описания структуры макета DAX-запроса в терминах колонок и фильтров и генерации текста DAX-запроса на основании описанной структуры.

Решение

Язык DAX (расшифровывается как Data Analysis eXpressions – выражения для анализа данных) разработан компанией Microsoft для автоматизации расчетов в приложении Power Pivot для Excel, табличных моделях Analysis Services и Power BI. Большинство функций DAX похожи на функции Excel. Однако, в отличие от Excel, где функции оперируют отдельными ячейками и их диапазонами, в DAX можно обращаться к таблицам и к их колонкам (столбцам). По сути, язык DAX работает с реляционной моделью данных.

Табличные модели Analysis Services становятся очень популярными при разработке приложений для анализа данных, так как поддерживают доступ к данным в режиме In-Memory (или VertiPaq). Этот режим обеспечивает высокую производительность при работе с данными, поскольку доступ к данным выполняется в оперативной памяти, сочетая высокую степень сжатия, алгоритмы сканирования и многопоточную обработку запросов.

При всей, на первый взгляд, простоте языка DAX, написание текста DAX-запроса – не совсем тривиальная задача. И ее эффективно решает генератор DAX-запросов Ranet UI, который позволяет создавать код DAX-запроса без использования инструментов Microsoft. Его можно использовать для генерации DAX-запросов при разработке клиентских приложений, работающих с табличными моделями Analysis Services.

Для анализа данных и построения отчетов не нужны углубленные знания синтаксиса языка DAX. Достаточно описать программно структуру макета отчета, используя API, предоставляемый Ranet UI.
Программное API Ranet UI позволяет создать структуру макета DAX-запроса в терминах областей колонок и фильтров. На основании этой структуры генерируется DAX-запрос.

Пример кода на С# по созданию структуры запроса:

11

При исполнении вышеописанного кода будет сгенерирован следующий DAX запрос:

2233

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

Новость Intel

Полноценный визуальный дизайнер DAX-запросов будет реализован в ближайшей версии Ranet UI. [/learn_more]