Основные функции и операторы DAX

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Введение в DAX и его роль в Power BI

DAX (Data Analysis Expressions) — это язык формул, используемый в Power BI, Power Pivot и Analysis Services. Он позволяет создавать вычисляемые столбцы, меры и таблицы, что значительно расширяет возможности анализа данных. DAX сочетает в себе функции Excel и SQL, что делает его мощным инструментом для анализа данных. В отличие от традиционных языков программирования, DAX специально разработан для работы с данными, что делает его более интуитивно понятным для пользователей, знакомых с таблицами и базами данных.

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

Кинга Идем в IT: пошаговый план для смены профессии

Основные операторы DAX

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

Арифметические операторы

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

  • + (сложение): используется для сложения двух чисел. Например, 3 + 2 вернет 5.
  • - (вычитание): используется для вычитания одного числа из другого. Например, 5 – 3 вернет 2.
  • * (умножение): используется для умножения двух чисел. Например, 4 * 2 вернет 8.
  • / (деление): используется для деления одного числа на другое. Например, 8 / 2 вернет 4.

Логические операторы

Логические операторы используются для выполнения логических операций, таких как И, ИЛИ и НЕ. Они позволяют создавать условия и фильтры в ваших формулах.

  • && (логическое И): возвращает TRUE, если оба операнда истинны. Например, TRUE && FALSE вернет FALSE.
  • || (логическое ИЛИ): возвращает TRUE, если хотя бы один из операндов истинен. Например, TRUE || FALSE вернет TRUE.
  • ! (логическое НЕ): возвращает TRUE, если операнд ложен. Например, !TRUE вернет FALSE.

Операторы сравнения

Операторы сравнения используются для сравнения значений. Они позволяют проверять равенство, неравенство, а также большее или меньшее значение.

  • = (равно): проверяет равенство двух значений. Например, 5 = 5 вернет TRUE.
  • <> (не равно): проверяет, не равны ли два значения. Например, 5 <> 3 вернет TRUE.
  • > (больше): проверяет, больше ли одно значение другого. Например, 5 > 3 вернет TRUE.
  • < (меньше): проверяет, меньше ли одно значение другого. Например, 3 < 5 вернет TRUE.
  • >= (больше или равно): проверяет, больше ли или равно одно значение другому. Например, 5 >= 5 вернет TRUE.
  • <= (меньше или равно): проверяет, меньше ли или равно одно значение другому. Например, 3 <= 5 вернет TRUE.

Ключевые функции DAX для работы с числами и текстом

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

Функции для работы с числами

Функции для работы с числами позволяют выполнять математические операции и агрегировать числовые данные.

  • SUM(): вычисляет сумму числового столбца. Например, SUM(Таблица[Столбец]) вернет сумму всех значений в столбце.
  • AVERAGE(): вычисляет среднее значение числового столбца. Например, AVERAGE(Таблица[Столбец]) вернет среднее значение всех чисел в столбце.
  • MIN(): находит минимальное значение в числовом столбце. Например, MIN(Таблица[Столбец]) вернет наименьшее значение в столбце.
  • MAX(): находит максимальное значение в числовом столбце. Например, MAX(Таблица[Столбец]) вернет наибольшее значение в столбце.

Функции для работы с текстом

Функции для работы с текстом позволяют манипулировать текстовыми данными, объединять строки и извлекать подстроки.

  • CONCATENATE(): объединяет два или более текстовых значения в одно. Например, CONCATENATE("Привет", " ", "Мир") вернет Привет Мир.
  • LEFT(): возвращает заданное количество символов с начала текстового значения. Например, LEFT("Привет", 3) вернет При.
  • RIGHT(): возвращает заданное количество символов с конца текстового значения. Например, RIGHT("Привет", 3) вернет вет.
  • LEN(): возвращает количество символов в текстовом значении. Например, LEN("Привет") вернет 6.

Агрегационные и временные функции DAX

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

Агрегационные функции

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

  • SUMX(): вычисляет сумму выражения для каждой строки таблицы. Например, SUMX(Таблица, Таблица[Количество] * Таблица[Цена]) вернет сумму произведений количества и цены для каждой строки.
  • AVERAGEX(): вычисляет среднее значение выражения для каждой строки таблицы. Например, AVERAGEX(Таблица, Таблица[Количество] * Таблица[Цена]) вернет среднее значение произведений количества и цены для каждой строки.
  • COUNT(): подсчитывает количество значений в столбце. Например, COUNT(Таблица[Столбец]) вернет количество непустых значений в столбце.
  • COUNTROWS(): подсчитывает количество строк в таблице. Например, COUNTROWS(Таблица) вернет количество строк в таблице.

Временные функции

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

  • DATE(): создает дату из заданных года, месяца и дня. Например, DATE(2023, 10, 1) вернет дату 1 октября 2023 года.
  • YEAR(): извлекает год из даты. Например, YEAR(DATE(2023, 10, 1)) вернет 2023.
  • MONTH(): извлекает месяц из даты. Например, MONTH(DATE(2023, 10, 1)) вернет 10.
  • DAY(): извлекает день из даты. Например, DAY(DATE(2023, 10, 1)) вернет 1.
  • TODAY(): возвращает текущую дату. Например, TODAY() вернет текущую дату.
  • NOW(): возвращает текущую дату и время. Например, NOW() вернет текущую дату и время.

Примеры использования DAX в реальных сценариях

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

Пример 1: Вычисление общего дохода

Предположим, у вас есть таблица продаж с колонками Количество и Цена за единицу. Вы можете создать меру для вычисления общего дохода:

dax
Скопировать код
ОбщийДоход = SUMX(Продажи, Продажи[Количество] * Продажи[Цена за единицу])

Этот пример показывает, как можно использовать функцию SUMX() для вычисления суммы произведений количества и цены для каждой строки в таблице продаж.

Пример 2: Создание вычисляемого столбца для полного имени клиента

Если у вас есть таблица клиентов с колонками Имя и Фамилия, вы можете создать вычисляемый столбец для полного имени:

dax
Скопировать код
ПолноеИмя = CONCATENATE(Клиенты[Имя], " " & Клиенты[Фамилия])

Этот пример демонстрирует, как использовать функцию CONCATENATE() для объединения имени и фамилии в одно текстовое значение.

Пример 3: Подсчет количества продаж за текущий год

Вы можете создать меру для подсчета количества продаж за текущий год:

dax
Скопировать код
ПродажиТекущийГод = CALCULATE(COUNTROWS(Продажи), YEAR(Продажи[Дата]) = YEAR(TODAY()))

Этот пример показывает, как использовать функцию CALCULATE() вместе с временными функциями для подсчета количества продаж за текущий год.

Пример 4: Вычисление среднего значения продаж за последние 30 дней

Вы можете создать меру для вычисления среднего значения продаж за последние 30 дней:

dax
Скопировать код
СредниеПродажи30Дней = CALCULATE(AVERAGE(Продажи[Сумма]), Продажи[Дата] > TODAY() – 30)

Этот пример демонстрирует, как использовать функцию CALCULATE() и временные функции для вычисления среднего значения продаж за определенный период времени.

Пример 5: Создание меры для вычисления прироста продаж

Вы можете создать меру для вычисления прироста продаж по сравнению с предыдущим годом:

dax
Скопировать код
ПриростПродаж = (SUM(Продажи[Сумма]) – CALCULATE(SUM(Продажи[Сумма]), SAMEPERIODLASTYEAR(Продажи[Дата]))) / CALCULATE(SUM(Продажи[Сумма]), SAMEPERIODLASTYEAR(Продажи[Дата]))

Этот пример показывает, как использовать функции SUM(), CALCULATE() и SAMEPERIODLASTYEAR() для вычисления прироста продаж по сравнению с предыдущим годом.

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

Читайте также