Язык DAX разработан Microsoft для взаимодействия с данными в различных инструментах, таких как Power BI, PowerPivot и табличные модели SSAS. Он создан, чтобы легко и быстро раскрыть всю силу и гибкость моделей данных. По большей части это Excel на стероидах.
Для аналитика, который в своей повседневной работе сталкивается с Power BI или Excel, знание языка DAX просто необходимо, так как его использование в работе раскроет множество новых возможностей. В рамках данной статьи раскрыты основы программирования на этом языке, которые точно позволят понять, как и с чего начать внедрение инструмента в работу.
Что такое DAX?
DAX [англ. Data Analysis Expressions] — это язык программирования от Microsoft для MS Power BI, MS Analysis Services, MS Power Pivot и Excel: язык, который можно использовать в различных инструментах бизнес-аналитики и визуализации.
Язык DAX был создан в 2010 году с первым релизом Power Pivot в Excel. Именно на этом языке строится расчет показателей в модели данных. Практически сразу язык стал очень популярен среди пользователей Excel, а впоследствии и поклонников Power BI. Ниже подробное видео по основам данного языка программирования.
Что такое язык DAX для Power BI и Power Pivot?
Зачем нужен DAX аналитику?
Если вы читаете эту статью в блоге, у вас, вероятно, уже есть некоторые идеи о том, зачем вы хотите выучить язык. Возможно, вы только начали свое путешествие по Power BI или используете Excel, но хотите делать более сложные вещи.
Сэм Маккей из EnterpriseDNA сказал:
Если мы не используем DAX должным образом, мы упускаем около 90% аналитического потенциала Power BI.
Ниже приведены некоторые причины, по которым я считаю, что DAX действительно важно изучить:
- Существенно расширяет возможности в Power Pivot и Power BI
- Используя DAX, вы можете создавать рабочий Dashboard
- Позволяет эффективно манипулировать данными
- Язык прост в использовании
- Функциональность языка DAX уже добавлена в Excel по умолчанию
- Синтаксис DAX также очень похож на формулы Excel
Синтаксис DAX
DAX — это язык, основанный на формулах.

- A = имя показателя или столбца
- B = оператор, начало формулы
- C = функция
- D = скобки для функций
- E = имя таблицы
- F = имя столбца
Функции DAX
В языке DAX используются функции, операторы и константы для построения формулы и создания вычисляемых столбцов / показателей. Когда вы вводите функцию в строке формул, отображается список всех функций, начинающихся с этого алфавита. Это очень удобная подсказка, особенно для начинающих.

Справочник Microsoft содержит чуть более 250 всевозможных DAX функций. Не все из них могут потребоваться в аналитической практике, однако они есть. Ниже выбраны наиболее часто используемые типы функций DAX:
- Агрегированные функции DAX: MIN, MAX, AVERAGE, SUM, SUMX
- Функции подсчета DAX: DISTINCT COUNT, COUNT, COUNTA, COUNTROWS, COUNTBLANK
- Логические функции DAX: AND, OR, NOT, IF, IFERROR
- Текстовые функции DAX: REPLACE, SEARCH, UPPER, FIXED, CONCATENATE
- Функции даты в DAX: DATE, HOUR, WEEKDAY, NOW, EOMONTH.
- Информационные функции DAX: ISBLANK, ISNUMBER, ISTEXT, ISNONTEXT, ISERROR.
В совершенстве владея этим набором, расширив который буквально на 5-10 специализированных функций, аналитик может перекрыть более 95% задач. На страницах этого сайта есть отдельная статья по основным функциям DAX для аналитика с подробным описание каждой.
Способы использования DAX
Результат языка DAX зависит от способа его применения. Всего их три:
- Создание новой колонки на основе данных из других столбцов. Формула выглядит так: =[Столбец]*0,5
- Создание новой меры. Мера – это расчётная величина на основе данных столбца (сумма, среднее, число уникальных и пр.). Мера выводится под таблицей модели. Формула выглядит так: =SUM([Столбец])
- Преобразование данных в новую таблицу. С помощью DAX можно создать новую таблицу, которая будет отображать данные из других таблиц. Формула будет выглядеть так: Список: = DISTINCT (‘Исходная таблица'[Столбец])
С чего начать изучение DAX
Если, есть необходимость погрузиться в мир DAX, возникает вопрос с чего начать. Само по себе изучение и сложно, и несложно одновременно. Чтобы понять общую концепцию потребуется немного времени и усилий, и докторская степень в области программирования тут не потребуется.
Существует множество бесплатных источников, документации, видео и сообществ в Интернете, которые могут научить вас всему, что нужно знать. Некоторые полезные источники, которые я часто посещаю:
- Официальный справочник по DAX от Microsoft
- Сообщество по Power BI и DAX
- Каналы на YouTube (как один из вариантов BI — это просто, видео которого было выше)
Наконец, помимо этих бесплатных источников, рекомендуем прочитать Полное руководство по DAX Марко Руссо и Альберто Феррари, которое можно считать библией языка.
Надеемся, что эта статья поможет вам решить, хотите ли вы погрузиться в мир DAX, зачем это нужно и если да, то с чего вы можете начать. А на страницах нашего сайта мы еще не раз затронем этот инструмент.
Источник: budnianalitika.ru
Чей DAX сильнее? …или почему каждый пользователь должен влиять на развитие платформы
Привет, Хабр! В этом посте мне хотелось бы поговорить о том, каким образом мы развиваем платформу и откуда появляются новые функции в Visiology. В большей степени сейчас это касается развития поддержки DAX в третьей версии платформы. Но сама практика появилась не на пустом месте, и сегодня мы как раз поговорим о том, как команда разработчиков выбирает, какие новые фичи стоит включить в Visiology, зачем мы запустили сбор кейсов для реализации на DAXе, и что можно увидеть на вебинарах Visiology, которые посвящены развитию аналитического движка в Visiology 3.

Разумеется, каждый релиз платформы пользователи получают доступ к новым функциям, но какими они будут, выбирают, конечно, разработчики. Любая компания формирует свой бэклог, в котором расставляет приоритеты — что реализовать сегодня, а что (условно) — завтра.
Кстати, возможность влиять на бэклог как раз отличает российских разработчиков (я сейчас говорю не только про Visiology — многие другие российские компании учитывают мнение широкого спектра своих клиентов). И поэтому, если чего-то хочет сразу много пользователей, вероятность получить эту фичу достаточно быстро возрастает. Так, мы в Visiology внедряли немало функций, запросы на которые поступали от заказчиков с просьбой сделать “как можно быстрее”. В число таких возможностей входит:
- Расширенная работа с файлами Excel — новый функционал ViLoader позволяет загружать таблицы прямо в движок ViQube через SmartForms
- Усложнение ролевой модели доступа к Visiology — причем как к самой платформе, так и к модулям ввода данных, к виджетам и визуализациям
- Голосовой аналитик ViTalk — как возможность получать ответы на голосовые запросы — прямо на ходу, в мобильном приложении.
- Visiology 3 — само появление третьей версии платформы в конечном счете, было продиктовано запросами пользователей на self-service, повышенную производительность, работу с BigData и, конечно же, DAX.
Фичи, которые удовлетворяют потребности широкого круга пользователей, имеют все шансы попасть в один из ближайших релизов. И мы специально обращаем внимание на массовые запросы — они нужны многим, их проще протестировать, и к их проверке могут подключиться сами пользователи.
Впрочем, иногда серия обращений может стать причиной тектонических изменений в платформе. Так, в свое время массовые вопросы пользователей о проблемах сбора информации привели к появлению такого продукта как SmartForms. В результате сегодня Visiology активно используют те компании, в которых ручной ввод является нормой и рассматривается как полноценный источник данных.
Откуда поступают запросы на развитие?
На самом деле все выглядит еще интереснее. Практически любой пользователь может выступить инициатором появления новой фичи, если она нужна ему в работе. За годы развития своей BI-платформы, команда Visiology убедилась в том, что каждое мнение может оказаться очень важным. И поэтому мы принимаем обратную связь от всех пользователей платформы.

Уже несколько лет все наши пользователи могут стать генераторами идей на доработку, создавая запросы на изменения. Для этого у нас в Visiology есть закрытый портал, на котором мы аккумулируем подобные предложения. Получить доступ к порталу может любой пользователь Visiology, просто написав в службу поддержки. Это может сделать:
- Администратор, которому хочется больше возможностей для настройки, или который обнаружил какое-то несовершенство системы управления, например, правами пользователей, может запросить расширение административных функций. И, кстати, многие улучшения именно административной стороны были предложены нашими пользователями, в том числе — улучшенная работа с протоколами, разделение доступа к отчетам по группам пользователей и так далее.
- Аналитик, который четко знает, какие запросы ему нужно обрабатывать, и где мы можем улучшить наши возможности. Реально каждый аналитик может написать нам запрос на новый функционал. Нередко из таких сообщений рождаются очень полезные оптимизации. Например, сейчас в Visiology 3 мы применяем около 10 различных уровней тюнинга главного хранилища на базе ClickHouse и большая часть из них были сделаны для ответа на конкретные запросы пользователей.
- Разработчик, который создает новые средства аналитики или визуализации на базе нашей платформы. Каждый может сделать запрос, если ему захочется что-то новое в API или полезные функции в виджетах. Например, недавно мы обновили/расширили возможности выгрузки отчетности, а до этого — добавили расширенную интеграцию с геоинформационной системой Геоинтеллект, потому что эти фичи требовались на реальных проектах.
- Руководитель, который хочет видеть отчеты определенным образом, на определенном устройстве и иметь нужные возможности для принятия верных управленческих решений, тоже может стать инициатором появления новых фичей в платформе. Причем, мы можем делать их как самостоятельно, так и в партнерстве с нашими коллегами из самых разных компаний. Например, недавно в Visiology появилась функция комментирования текстом прямо поверх дашбордов. Этот функционал помогли реализовать коллеги из компании КРИТ, и я надеюсь, скоро они подробнее расскажут о своих фичах в нашем блоге.
Существуют сотни ситуаций, в которых какой-то человек может испытывать потребности в развитии системы. Контроль за процессом накопления этих данных и их передачи в разработку — очень важная и непростая задача, которую нужно выстраивать и благодаря тому, что мы уже встроили этот процесс у себя, сегодня большую пользу в развитии Visiology 3 играет сбор аналитических кейсов.
DAX по-русски: каждый может принять участие
Но сейчас ситуация складывается еще интереснее, и на приоритеты развития платформы могут влиять и те люди, которые пока не стали пользователями Visiology, но планирую получить это почетное звание. Как я уже говорила, обобщенные потребности в высокой производительности, гибкости и self-service для аналитиков стали отправной точкой для глубокого пересмотра архитектуры и начала проектирования Visiology 3. Сегодня платформа уже доступна в режиме тестовой эксплуатации, и мы активно работаем над тем, чтобы развивать возможности нашей версии аналитического языка DAX. Мы хотим обеспечить его соответствие с одной стороны привычному синтаксису Power BI, а с другой — реальным потребностям пользователей.
Как уже отмечали мои коллеги, за 2023 год команда разработчиков планирует реализовать большую часть функций DAX на платформе Visiology 3. И здесь мы решили использовать наш механизм обратной связи по полной. На этом этапе развития продукта вы можете подать на рассмотрение ЦЕЛЫЙ БИЗНЕС-КЕЙС с реальными запросами, требованиями и контекстом. Мы используем такие заявки, чтобы принимать решения о развитии DAX на платформе, а также используем их как тест-кейсы, чтобы убедиться в соответствии результатов ожиданиям пользователей.
Дело в том, что в реализации DAX от Microsoft есть очень много операторов, и не все они работают самым удобным для пользователей образом. Еще в прошлом году мы поняли, что нет никакого смысла тратить силы на реализацию всех команд подряд и именно в таком виде, в каком их можно найти в Power BI. Вместо этого получается ситуация win-win — пользователи (и потенциальные пользователи) подсказывают нам самые востребованные аспекты работы с платформой, а мы гарантируем, что наш DAX будет работать с вашим кейсом именно так, как вам бы этого хотелось.
А где ваш кейс?
Если вы работаете с Visiology сегодня…или начнете завтра, то можете уже сейчас поделиться кейсом и помочь нам сделать решение, в том числе подходящее для вашей конкретной ситуации. Обратная связь от заказчиков является частью нашей корпоративной культуры в целом.
Она помогает брать из бэклога именно то, что нужно, а не то что больше нравится или ближе лежит, нужно оценивать важность фичей и частоту их запросов. Как правило, на поток встают именно те запросы, которые многократно повторяются от разных заказчиков. Это имеет двойной смысл. Во-первых, тем самым мы обеспечиваем разработку именно тех инструментов, которые востребованы. А во-вторых, накапливается целая база данных с подробным описанием запросов, которые мы потом используем в тестировании, чтобы проверить соответствие новых возможностей запросам, под которые они создавались.

Но именно сейчас влияние подробных бизнес-кейсов на развитие продукта максимально. Если это важно для вас, просто присылайте свои кейсы, и Visiology 3 будет во многом адаптирован именно для ваших задач, а коллеги, которые уже переходят на Visiology 3 будут вам благодарны за помощь в конкретизации конкретных кейсов и сценариев, востребованных в российском BI сегодня.
Источник: habr.com
DAX в Power BI – функции, о которых нужно знать!
Еще одна важная тема, которую мы обсудим – это DAX в Power BI. Это очень важная тема в Power BI, поэтому мы постарались предоставить вам подробную статью о концепциях и использовании DAX-формул при работе над Power BI Desktop для анализа данных.
Итак, давайте перейдем к руководству.
DAX в Power BI
DAX — это выражения для анализа данных, то есть такие выражения или формулы, которые используются для анализа и вычислений данных. Эти выражения представляют собой набор и комбинацию функций, операторов и констант, которые оцениваются как одна формула для получения результатов (значения или значений). Формулы DAX очень полезны в инструментах бизнес-аналитики, таких как Power BI, поскольку они помогают аналитикам данных максимально использовать имеющиеся у них наборы данных.
С помощью языка DAX аналитики могут открывать новые способы вычисления имеющихся у них значений данных и делать свежие выводы.
Взгляните на некоторые ключевые моменты DAX, которые помогут вам лучше понять концепцию.
- DAX – это функциональный язык, т.е. его полный код всегда является функцией. Исполняемое выражение DAX может содержать условные операторы, вложенные функции, ссылки на значения и т. д.
- Формулы DAX имеют два основных типа данных; числовые и нечисловые или другие. Числовой тип данных включает целые числа, десятичные дроби, валюту и т. д. Нечисловой тип данных состоит из строк и двоичных объектов.
- Выражения DAX оцениваются от самой внутренней функции до самой внешней функции. Это делает разработку DAX-формулы важной задачей.
Вы можете использовать значения смешанных типов данных в качестве входных данных в DAX-формуле, и преобразование будет выполняться автоматически во время выполнения формулы. Выходные значения будут преобразованы в тип данных, который вы указали для формулы DAX.
Важности DAX в Power BI
Естественно можно задуматься, почему же так важно изучить DAX для эффективной работы с Power BI. Что ж, как мы видели в наших предыдущих руководствах, создание отчетов с использованием функций импорта, преобразования и визуализации данных в Power BI — это удобный для пользователя вариант. Для этого пользователь должен иметь базовые знания Power BI Desktop, чтобы создать действительно хороший отчет со всеми доступными данными. Но если вы хотите рассчитать показатели и использовать расширенные вычисления в отчетах Power BI, вам понадобится DAX.
Допустим, вы хотите создать визуализацию для анализа процента роста в разных штатах страны или вам нужно сравнить годовой рост/продажи. Полей данных, которые вы импортируете, обычно недостаточно для использования в таких целях.
Для этого вам нужно создать новые меры, используя язык DAX. Таким образом, вы можете создавать новые меры, использовать их для создания эксклюзивных визуализаций и получать уникальное представление о данных. Обладая таким уникальным пониманием данных, вы можете найти подходящие решения для бизнес-проблем, которые вы могли бы пропустить при обычном анализе. Таким образом, DAX выполняет анализ данных с помощью Power BI – разумного и интеллектуального подхода.
Формулы DAX – синтаксис
Первым и самым важным шагом в изучении любого языка является разбиение его на определенные элементы и разбор этих элементов. И поэтому мы изучаем синтаксис языка. Ниже представлен пример формулы DAX. Мы разберемся с этой формулой и элементами ее синтаксиса с помощью этого примера.
![]()