Управление
#статьи

Что такое DAX и как этот язык используют в анализе данных

Статья-введение для тех, кто разбирается в теме с нуля.

Иллюстрация: Оля Ежак для Skillbox Media

О DAX рассказал

Андрей Чепурной

Руководитель команды Power BI департамента аналитических решений «КОРУС Консалтинг».

DAX — язык запросов, который используют в анализе данных. С помощью него обрабатывают большие объёмы информации, проводят сложные расчёты, создают дашборды.

В статье рассказываю, как устроен DAX и какие задачи решают с его помощью. Материал будет полезен начинающим BI-аналитикам, а также всем специалистам, которые работают с данными.

В статье нет подробных инструкций по работе с DAX: она даёт общее представление о работе с языком. Мы говорим о базовых понятиях и принципах DAX.

Что такое DAX

DAX (Data Analysis Expressions) дословно переводится как «выражения для анализа данных». Это язык, с помощью которого составляют функции и формулы в программах для аналитики.

DAX разработала компания Microsoft. Этот язык входит в состав её программ для бизнес-аналитики и анализа данных — Power BI, Analysis Services и надстройки Power Pivot для Excel.

Основная цель DAX — помочь выполнить сложный анализ и комплексные расчёты в случаях, когда задействовано много данных.

Например, с помощью DAX можно создавать формулы для автоматического расчёта общей выручки бизнеса, среднего чека, процентного изменения числа продаж. Или проанализировать, какие товары популярны в разных регионах и как со временем меняются предпочтения покупателей.

Важно понимать, что DAX — не язык программирования, а функциональный язык. Это означает, что на нём не пишут программы или макросы — как это делают, например, на Python, Java или VBA. С помощью DAX создают запросы для проведения расчётов и анализа данных.

Вот как это работает. Пользователь пишет на языке DAX запрос, который будет применяться к выбранному объёму данных. Этот запрос определяет, какие операции нужно провести с данными — например, сделать фильтрацию и расчёт. Программа проводит их. Дальше можно создавать интерактивные отчёты на основе данных, полученных в результате этих операций, строить графики и анализировать полученную информацию.

При этом DAX учитывает связи между данными. Если первоначальные данные изменятся, DAX сам пересчитает результат и покажет актуальную информацию.

Так выглядит интерактивный отчёт в MS Power BI
Скриншот: Microsoft / Skillbox Media

С DAX чаще всего работают специалисты, которые занимаются аналитикой. В разных компаниях это могут быть аналитики данных, бизнес-аналитики, финансовые аналитики, маркетологи и BI-разработчики. В следующем разделе разберём, какие задачи они решают с помощью DAX.

Обучение в Skillbox для работы с анализом данных

  • «Power BI PRO» — освоить на продвинутом уровне инструмент для бизнес-анализа и создания интерактивных отчётов.
  • «Профессия BI-аналитик» — собирать, структурировать и анализировать данные, строить дашборды, помогать руководителям принимать правильные решения.
  • «Аналитик данных с нуля» — анализировать данные с помощью разных сервисов аналитики и BI-систем, освоить Python и SQL.

Какие задачи решают с помощью DAX: примеры

DAX даёт много возможностей для анализа данных и других операций с ними в разных сферах бизнеса. Основные функции DAX — собрать данные из разных источников, отфильтровать их и провести вычисления, которые требуются пользователю для создания отчётов.

Вот несколько сценариев использования DAX:

  • Провести финансовый анализ. DAX помогает обрабатывать большие объёмы данных о финансах и бухгалтерии компании. Например, с его помощью можно объединить данные нескольких таблиц и рассчитать нужные показатели — прибыль, рентабельность, маржинальность и другие. Затем на их основе создать наглядные отчёты, с помощью которых будет легче принимать дальнейшие решения.
  • Анализировать продажи и маркетинг. С помощью DAX можно, например, мониторить количество продаж в режиме реального времени, определять эффективность маркетинговых кампаний, выяснять, какие товары и услуги приносят больше прибыли.
  • Анализировать поведение клиентов. DAX позволяет понять, как клиенты взаимодействуют с бизнесом. Например, с его помощью можно определить, какие продукты или услуги наиболее популярны, что именно привлекает в них покупателей, и прогнозировать, что может понадобиться клиентам в будущем.
  • Управлять запасами и производством. С помощью DAX можно создавать формулы для расчёта оборачиваемости запасов, прогнозировать потребность в товарах или анализировать эффективность производственных линий.
  • Управлять персоналом. С помощью DAX анализируют производительность и эффективность сотрудников. Это позволяет прогнозировать текучесть кадров и создавать программы мотивации. Также с помощью DAX можно рассчитывать KPI.

Как устроен DAX: основные понятия и этапы работы с ним

В общих чертах DAX-запросы работают аналогично обычным формулам Excel. Они также состоят из функций, операторов и значений. Но, в отличие от Excel, DAX работает не с отдельными ячейками, а со столбцами, то есть выполняет разные запросы — расчёты, фильтрацию и так далее — одновременно со значениями всего столбца.

Чтобы работать с DAX, важно понимать ключевые термины: меры, вычисляемые столбцы, вычисляемые таблицы, контекст и связи. Давайте разберёмся.

Меры (Measures). По-другому их называют метриками. Это выражения, с помощью которых проводят разные вычисления. Например, можно создать меру для подсчёта общей прибыли или среднего значения. В результате появляется новое значение, которое затем используют при других расчётах или при визуализации.

Вычисляемые столбцы (Calculated columns). Выражения, которые проводят вычисления для каждой строки в таблице и создают новый столбец с результатами. Их можно использовать, например, для автоматического расчёта суммы заказов каждого клиента в базе данных. Вычисляемый столбец проведёт построчный расчёт отдельно для каждого покупателя и вынесет итоговые суммы в новый столбец.

Вычисляемые таблицы (Calculated tables). Таблицы, которые полностью генерируются с помощью DAX-формул. Их используют, когда нужно создать временную таблицу для отдельного анализа данных или собрать промежуточные данные, которые потребуются для дальнейших расчётов. Например, с помощью вычисляемой таблицы можно собрать список клиентов, которые делали повторные покупки в последний месяц. Это позволит проанализировать группу клиентов отдельно, не меняя при этом структуру исходной таблицы.

Контекст (Context). Элемент DAX, который определяет, какие данные участвуют в расчётах. Есть два вида контекста — контекст строки и контекст фильтра.

  • Контекст строки. Когда формула работает в этом контексте, она учитывает только данные в текущей строке. Например, если создать вычисляемый столбец «Общая стоимость» с формулой «Цена × Количество», контекст строки будет применять эту формулу к каждой строке отдельно и найдёт общую стоимость для каждого товара.
  • Контекст фильтра. В этом случае формула учитывает выборку данных, которые соответствуют заданным условиям. Например, если использовать меру «Сумма продаж» с фильтром по месяцу, контекст соберёт данные для расчёта только из строк, которые относятся к выбранному месяцу.

Связи (Relationships). Это способ объединить данные из нескольких таблиц. Допустим, есть две таблицы: одна с информацией о клиентах, другая — с информацией о заказах от этих клиентов. Между таблицами можно установить связь по значению, которое повторяется и в первой, и во второй таблице, — например, по уникальному номеру клиента. С помощью такой связи можно будет найти все номера заказов клиента или рассчитать общую сумму его покупок. Связи позволяют увидеть полную картину и провести более глубокий анализ.

Обычно работа с DAX проходит в четыре этапа:

1. Загрузить данные. Пользователь загружает в программу данные из разных источников. Например, из электронных таблиц, текстовых файлов, баз данных, веб-сайтов и так далее.

2. Моделировать данные. Для этого устанавливают связи между разными таблицами и создают из них общую модель. Цель этого этапа — связать данные таблиц в общей структуре и определить, каким образом данные из одной таблицы будут взаимодействовать с данными из других таблиц.

Устанавливаем связи между разными таблицами
Скриншот: курс Skillbox «Power BI»

3. Создать меры, вычисляемые столбцы или таблицы. Это основная часть работы с DAX. С помощью DAX-формул пользователь фильтрует и сортирует данные, рассчитывает нужные показатели и так далее.

4. Собрать отчёт. В рамках этого этапа строят дашборды на основе результатов. Пользователь выбирает нужные данные, которые он получил на предыдущем этапе, и представляет их в виде графиков, диаграмм, сводных таблиц и других визуальных элементов.

Пример готового отчёта
Скриншот: курс Skillbox «Power BI»

В какой программе удобнее проводить расчёты с помощью DAX

Выше мы говорили, что DAX используют в программах для анализа данных от Microsoft: Power BI, Analysis Services и надстройке Power Pivot для Excel. Функции DAX в этих программах схожи, но есть некоторые различия.

На мой взгляд, в Power BI больше возможностей для анализа данных. Например, в нём больше вариантов для визуализации данных и публикации отчётов. Интерфейс для написания функций в Power BI тоже удобнее.

В Power BI можно работать совместно с другими пользователями — с помощью репозиториев. Тогда изменения, которые внесли на одном устройстве, сразу видны на других устройствах в режиме реального времени.

Ещё Power BI развивается активнее других программ, поэтому его пользователи получают доступ к новым функциям DAX быстрее, чем пользователи Power Pivot и Analysis Services.

Power BI предпочтительнее использовать для решения сложных задач, где перечисленные преимущества необходимы. Для простых сценариев хорошим вариантом может быть Excel Power Pivot. Он также подойдёт пользователям, которым больше нравится Excel.

Где и как изучать DAX

Изучать DAX можно самостоятельно или на курсах. Для самостоятельного изучения рекомендую такие источники:

  • Официальные материалы Microsoft. На сайте компании есть справочник по DAX. В нём собраны обучающие видео и текстовые документы, пошаговые инструкции по работе с отдельными возможностями DAX, примеры функций, описания их синтаксиса и так далее.
  • Книги. Существует много книг по DAX и Power BI, в которых тоже собраны подробные инструкции и примеры. Например, «Подробное руководство по DAX» Марко Руссо и Альберто Феррари или «Формулы DAX для Power Pivot» Роба Колли.
  • Форумы и сообщества. Например, телеграм-чаты Power BI Group RU и Power BI Proffessionals. В них можно найти советы опытных пользователей DAX или задать свои вопросы и получить ответы.

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

Например, в Skillbox есть курс «Power BI», который длится два месяца. В это время студенты учатся:

  • обрабатывать данные из разных источников и настраивать связи между ними;
  • работать с основными формулами DAX;
  • настраивать сквозную аналитику;
  • создавать динамические дашборды в удобной форме;
  • анализировать показатели.

Все полученные навыки отрабатывают с помощью практических заданий и тестов, которые проверяют эксперты. Все задачи приближены к реальным, поэтому результаты можно добавить в портфолио.

Главное о DAX в 4 пунктах

  1. DAX — функциональный язык, который используют в программах Microsoft для анализа данных: в Power BI, Analysis Services и надстройке Power Pivot для Excel.
  2. С помощью DAX собирают данные из разных источников, строят на их основе модели, проводят нужные вычисления и формируют динамические отчёты с результатами.
  3. DAX-запросы схожи с формулами Excel, но, в отличие от них, проводят операции — например, вычисления или фильтрацию — не с отдельными ячейками, а с целыми столбцами.
  4. Изучить DAX можно самостоятельно — например, с помощью справочников Microsoft, книг, профессиональных форумов и сообществ. Или на онлайн-курсах — этот способ быстрее.

Другие статьи Skillbox Media об анализе данных

Учитесь и пробуйте новое — бесплатно

Выберите курс Skillbox с бесплатным доступом:

Научитесь: Профессия Бизнес-аналитик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована