DAX-Урок 1. Что такое DAX. Основные понятия.

Что такое DAX?

DAX - язык формул (расшифровывается как Data Analysis eXpressions - выражения для анализа данных) был разработан компанией Microsoft. Данный язык не является самостоятельным, а предназначен исключительно для автоматизации расчетов в приложении PowerPivot для MS Excel.

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

Чтобы работать с DAX кодом, нам нужно установить PowerPivot для Excel 2010 или перейти на одноименную вкладку в Excel 2013.

Основные функции DAX

Как и в Excel функции DAX относятся к определенным категориям, а именно:

  • Функции фильтров
  • Математические функции
  • Статистические функции
  • Логические функции
  • Функции даты и времени
  • Текстовые функции
  • Информационные функции
  • Расчеты в PowerPivot

    В PowerPivot пользователь может создавать расчетные поля двух типов: Расчетные столбцы и Меры.

    Расчетный столбец - дополнительный столбец создается пользователем в любой таблице, которая загружена в PowerPivot.

    Мера - расчетное поле в Сводной таблицы. Мера используется в области Значение сводной таблицы. Чтобы разместить рассчитанные результаты в другие области сводной таблицы, нужно использовать Расчетный столбец.

    Одни и те же формулы могут вести себя по-разному, в зависимости от того, используются они в расчетном столбце или в мере. Если формула используется в расчетном столбце, она применяется к каждой строке столбца по всей таблице. Значение может зависеть от контекста строк. В мере результат вычислений еще больше зависит от контекста. Это означает, что конструкция сводной таблицы и выбор заголовков строк и столбцов влияют на значение, которые используются в вычислениях.

    Контекст в формулах DAX

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

    Итак, в DAX существуют три типа контекста: контекст фильтра, контекст строки и контекст запроса.

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

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

    Контекст запроса - относится к подмножеству данных, которые неявным образом создаются для каждой ячейки сводной таблицы в зависимости от заголовков строки и столбца в сводной таблице.

    Статьи по теме:

  • Приложение для расширения возможностей сводных таблиц (PowerPivot)
  • DAX-Урок 2. Функция CALCULATE