Язык DAX предоставляет пользователям Power BI и Power Pivot возможность создавать визуализации с агрегированием и сложной логикой. Используя функции DAX, мы сможем отойти от обыденности и начать создавать готовые отчеты и визуализации, которые обеспечивают более глубокое понимание аналитики.
DAX не является языком программирования. Это прежде всего язык формул, функций, а также язык запросов. И в рамках этой статьи мы и рассмотрим самые полезные функции DAX, которые смогут существенно упростить работу аналитика. Общая вводная статья о языке DAX.
Наиболее важные функции DAX
Для удобства самые важные функцииDAX, которые наиболее часто применимы в Power Pivot мы сгруппируем по их ключевым свойствам.
Математические функции DAX
DIVIDE () – функция деления с возможностью отработки ошибки «деление на 0». Очень часто в процессе деления появляется ошибка #ДЕЛ/0!. Данная функция и создана для того чтобы исправить возможную ошибку, заменив её 0.
Синтаксис: =DIVIDE (Делимое; Делитель)
ABS () – функция возвращает абсолютное значения выбранного или расчетного числа.
ROUND () – функция математического округления с заданной точностью. Есть производные. При создании меры есть 2 способа округления: первый с помощью данной функции или её производных, второй – с помощью меню форматирования для увеличения / уменьшения числа разрядов.
Синтаксис: =ROUND(число; точность округления)
Функции агрегирования
SUM () – с помощью данной функции пользователь может просуммировать все числа в столбце. Есть производные.
Синтаксис функции SUM: =SUM(столбец)
MAX () / MIN () – функция находит и отображает максимальное или минимальное значение столбца. Есть производные.
Синтаксис: =MIN / MAX(столбец)
AVERAGE () – функция выбирает среднее арифметического значения по столбцу. Есть производные.
Синтаксис: = AVERAGE (столбец)
COUNT () – функция, которая считает количество не пустых ячеек с числами или датой в столбце. Ячейки с текстовыми значениями выдают ошибку. Есть производные.
DISTINCTCOUNT () – функция подсчета количества уникальных значений в столбце независимо от формата и типа данных в ячейке.
Текстовые функции DAX
BLANK () – функция, которая выдает значение ПУСТО. Можно использовать в качестве аргумента для замены ошибки или вывода непосредственно пустого значения.
CONCATENATE () аналог функции сцепить в Excel, однако работает только для 2 аргументов. Если необходимо сцепить более 2 аргументов, функция вкладывается сама в себя (вместо одной из составляющих). Аналог данной функции служит &.
Синтаксис: = CONCATENATE (Текст1; Текст2)
FORMAT () меняет любой формат данных на текст.
VALUE () преобразует текст в число.
LEN () – считает количество символов в тексте.
TRIM () – удаляет лишние пробелы (кроме одинарных пробелов) как в начале, так и в конце текста в ячейке.
Логические функции DAX
IF () – функция ЕСЛИ
IFERROR () функция ЕСЛИОШИБКА
AND () / OR () функция И / ИЛИ
Функции даты
TODAY () – функция возвращает текущую дату
YEAR () / MONTH () / DAY () – функция возвращает год, месяц и день в числовом формате
WEEKDAY () / WEEKNUM () – возвращает день недели / номер недели в числовом формате
DATEADD () – создает таблицу с датами, которые сдвинуты вперед или назад на заданное количество интервалов от текущей даты.
TOTALYTD () / TOTALQTD – осуществляют расчет выражения, начинающееся с начала года / квартала до текущей даты. Другими словами, выдает результат с начала периода, по максимальную дату в таблице данных.
Фильтрующие функции DAX
CALCULATE () – производит вычисление выражения, которое изменено внутренними фильтрами таблицы данных. В качестве аргумента расчета может быть любая функция.
Подробное видео о применении функции CALCULATE
CALCULATETABLE () – вычисляет табличное выражение, которое изменено внутренними фильтрами
FILTER () – возвращает таблицу, фильтруя исходную таблицу по заданным параметрам.
RELATED () – упрощенная ВПР по 2 связанным таблицам, Важным условием для работы данной функции является наличие связи между таблицами.
Табличные функции DAX
GROUPBY () – создает сводную таблицу, сгруппированную по указанному столбцу
На самом деле таких полезных функций DAX гораздо больше. Это именно те, что наиболее часто используются в работе аналитика данных продаж. Какие функции можно добавить из вашей практики? Пишите в комментариях.