Prog Academy
RU UA
DAX для начинающих: что это, базовые функции и примеры формул в Power BI
Data Analytics

DAX для начинающих: что это, базовые функции и примеры формул в Power BI

Короткий ответ: DAX (Data Analysis Expressions) — это язык формул, которым в Power BI описывают расчёты: меры, вычисляемые столбцы и вычисляемые таблицы. Формулы DAX похожи на формулы Excel, но работают не с ячейками, а со столбцами и таблицами модели данных, и результат зависит от того, какие фильтры применены в отчёте.

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

Как читать эту статью

Все примеры построены на одном наборе данных из восьми продаж. Рядом с каждой формулой указан результат, который она возвращает на этих данных, поэтому вы можете воспроизвести модель в Power BI Desktop и сверить цифры. Синтаксис функций сверен с документацией Microsoft; ссылки собраны в конце статьи.

Что такое DAX и зачем он в Power BI

DAX — это язык выражений для анализа данных, который Microsoft использует в Power BI, Power Pivot в Excel и Analysis Services. По определению Microsoft, формулы DAX состоят из функций, операторов и значений и выполняют расчёты над данными в связанных таблицах и столбцах табличной модели.

DAX не загружает и не очищает данные — это работа Power Query. DAX начинается после того, как таблицы уже лежат в модели и связаны между собой. Им создают четыре вещи:

  • меры — показатели, которые считаются «на лету» в зависимости от фильтров отчёта: выручка, средний чек, доля, прирост;
  • вычисляемые столбцы — новые столбцы в таблице, значения которых считаются для каждой строки;
  • вычисляемые таблицы — например, таблицу дат;
  • правила безопасности на уровне строк — условия, которые определяют, кто какие строки видит.

Если вы только знакомитесь с инструментом, начните с глоссария: что такое Power BI и что такое дашборд. А о том, где проходит граница между двумя главными инструментами аналитика, — в сравнении Power BI vs Excel.

Место DAX в работе с отчётом выглядит так:

1. ИсточникиФайлы Excel, базы данных, CRM, Google Таблицы
→
2. Power QueryЗагрузка, очистка и трансформация данных
→
3. Модель и DAXСвязи между таблицами, меры и вычисляемые столбцы
→
4. ОтчётВизуалы показывают меры в нужных разрезах

DAX или формулы Excel: в чём разница

Главная разница: формула Excel ссылается на ячейки и диапазоны, а формула DAX — на столбцы и таблицы, и считается в контексте фильтров отчёта. В DAX нет адреса A1: нельзя «взять значение из строки выше» или «из ячейки справа».

КритерийФормулы ExcelDAX
На что ссылается формулаЯчейки и диапазоны: A2, B2:B100Столбцы и таблицы: Sales[Quantity], Sales
Где живёт результатВ ячейке, куда введена формулаВ мере или столбце, которые используются во всём отчёте
От чего зависит результатОт значений в ячейкахОт данных и от контекста: фильтров, срезов, строк визуала
Связь между таблицамиПоиск значений: VLOOKUP, XLOOKUPСвязи в модели; при необходимости — RELATED
Условные суммыSUMIFS, COUNTIFSCALCULATE с условиями фильтра
Похожие функцииSUM, AVERAGE, MIN, MAX, IF, LEFT, RIGHT, MID, TRIM — названия одинаковые, но в DAX агрегатные функции принимают столбец, а не диапазон

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

Набор данных для примеров

Возьмём небольшой магазин техники. В модели две таблицы: Sales (продажи) и Products (справочник товаров). Они связаны по столбцу ProductID связью «один ко многим»: один товар — много продаж.

Таблица Products

ProductIDProductCategory
1НоутбукТехника
2МышкаАксессуары
3КлавиатураАксессуары
4МониторТехника

Таблица Sales

OrderIDDateProductIDQuantityPriceCity
105.01.20261130 000Киев
212.01.202623500Львов
320.01.2026321 500Киев
403.02.2026418 000Одесса
514.02.202625500Киев
625.02.20261130 000Львов
702.03.2026311 500Одесса
818.03.2026428 000Киев

Price — цена за единицу в гривнах, Quantity — количество в заказе. Готового столбца с суммой заказа нет — это сделано намеренно, чтобы показать разницу между SUM и SUMX.

Как воспроизвести

В Power BI Desktop нажмите «Ввести данные» (Enter data), создайте обе таблицы, а в представлении модели перетащите Products[ProductID] на Sales[ProductID]. Названия таблиц и столбцов в статье английские — так принято в большинстве рабочих моделей, и так формулы легче сравнивать с документацией.

Мера или вычисляемый столбец

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

КритерийВычисляемый столбецМера
Когда считаетсяПри обновлении данныхПри каждом взаимодействии с отчётом
Что возвращаетЗначение в каждой строке таблицыОдно значение для текущего контекста фильтра
Где хранитсяВ модели, увеличивает её размерНигде: хранится только формула
КонтекстКонтекст строкиКонтекст фильтра
Где использоватьВ срезах, фильтрах, на осях и в легендахВ области значений визуалов
ПримерРазмер заказа: «Крупный» / «Обычный»Выручка, средний чек, доля категории

Вычисляемый столбец с суммой каждого заказа:

Amount = Sales[Quantity] * Sales[Price]

В первой строке таблицы Sales столбец вернёт 30 000, во второй — 1 500, в третьей — 3 000 и так далее. Формула «видит» текущую строку — это и есть контекст строки.

Мера с общей выручкой:

Revenue = SUMX(Sales, Sales[Quantity] * Sales[Price])

На карточке без фильтров мера вернёт 92 500. Если поставить её в таблицу рядом с городом, она сама пересчитается для каждой строки: Киев — 51 500, Львов — 31 500, Одесса — 9 500. Формула та же, меняется контекст фильтра.

Практическое правило

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

Базовые функции DAX: SUM, AVERAGE, COUNTROWS, DIVIDE, IF

Агрегатные функции DAX — SUM, AVERAGE, MIN, MAX, COUNT — принимают один столбец и возвращают одно число для текущего контекста фильтра. С них начинается любая модель.

Total Quantity = SUM(Sales[Quantity])

Orders = COUNTROWS(Sales)

Average Price = AVERAGE(Sales[Price])

Max Price = MAX(Sales[Price])

На наших данных Total Quantity возвращает 16, Orders — 8, Average Price — 10 000, Max Price — 30 000.

Обратите внимание на Average Price: это среднее значение столбца Price по строкам, а не средний чек. Средний чек — это выручка, делённая на количество заказов, и для деления в DAX есть отдельная функция:

Average Check = DIVIDE([Revenue], [Orders])

Результат — 11 562,5. Функция DIVIDE безопаснее оператора /: если знаменатель равен нулю, она возвращает пустое значение (BLANK) или альтернативный результат, который можно указать третьим аргументом, — и визуал не показывает ошибку.

В этой формуле мера ссылается на другие меры — [Revenue] и [Orders]. Так и стоит строить модель: простые меры становятся кирпичиками для более сложных.

Логическая функция IF

IF проверяет условие и возвращает одно значение, если оно истинно, и другое — если ложно. Чаще всего её применяют в вычисляемых столбцах, чтобы разложить строки по группам:

Order Size =
IF(
    Sales[Quantity] * Sales[Price] >= 10000,
    "Крупный",
    "Обычный"
)

Три заказа (№ 1, 6 и 8) получат значение «Крупный», остальные пять — «Обычный». Теперь по столбцу Order Size можно фильтровать отчёт или строить диаграмму.

В мерах IF часто сочетают с проверкой на пустое значение, чтобы не показывать результат там, где данных нет:

Average Check Safe =
IF(
    ISBLANK([Revenue]),
    BLANK(),
    DIVIDE([Revenue], [Orders])
)

SUMX и контекст строки

SUM складывает значения одного столбца, а SUMX проходит по таблице строка за строкой, вычисляет выражение для каждой строки и складывает результаты. Функции с суффиксом X — SUMX, AVERAGEX, MINX, MAXX, COUNTX — называются итераторами.

В нашей таблице нет столбца с суммой заказа, поэтому выручку через SUM посчитать нельзя. Новички часто пробуют так:

Revenue Wrong = SUM(Sales[Quantity]) * SUM(Sales[Price])

Эта формула вернёт 1 280 000 вместо 92 500: она сначала складывает все количества (16), потом все цены (80 000) и перемножает суммы. Умножать нужно в каждой строке отдельно, а складывать — уже результаты:

Revenue = SUMX(Sales, Sales[Quantity] * Sales[Price])

Как это считается шаг за шагом:

OrderIDQuantityPriceQuantity × Price
1130 00030 000
235001 500
321 5003 000
418 0008 000
555002 500
6130 00030 000
711 5001 500
828 00016 000
Итого92 500

Первый аргумент SUMX — таблица, по которой идти; второй — выражение, которое вычисляется в контексте каждой её строки. Поэтому внутри SUMX можно писать Sales[Quantity] без агрегатной функции: итератор создаёт контекст строки, так же как вычисляемый столбец.

CALCULATE, FILTER и ALL: контекст фильтра

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

Синтаксис по документации Microsoft: CALCULATE(<выражение>, <фильтр1>, <фильтр2>, …). Первый аргумент — что считать, остальные — при каких условиях.

Добавить условие

Revenue Kyiv = CALCULATE([Revenue], Sales[City] = "Киев")

Результат — 51 500. Это аналог SUMIFS из Excel: «выручка, но только там, где город — Киев».

Важная деталь: такое условие заменяет фильтр по столбцу City, который уже есть в визуале. Если поставить Revenue Kyiv в таблицу с городами, в каждой строке — и во Львове, и в Одессе — будет 51 500. Удобно, когда нужен столбец для сравнения с эталоном, и неожиданно, если об этом не знать.

Условий может быть несколько — они объединяются через «и». Фильтровать можно и по столбцу связанной таблицы:

Revenue Kyiv Tech =
CALCULATE(
    [Revenue],
    Sales[City] = "Киев",
    Products[Category] = "Техника"
)

Результат — 46 000: ноутбук за 30 000 и два монитора на 16 000.

FILTER: условие, которое вычисляется для каждой строки

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

Revenue Big Orders =
CALCULATE(
    [Revenue],
    FILTER(Sales, Sales[Quantity] * Sales[Price] >= 10000)
)

Результат — 76 000: заказы № 1, 6 и 8 (30 000 + 30 000 + 16 000).

ALL: снять фильтры и посчитать долю

ALL делает противоположное — убирает фильтры с таблицы или столбца. Самый частый сценарий — доля от общего итога:

Revenue Share =
DIVIDE(
    [Revenue],
    CALCULATE([Revenue], ALL(Products))
)

В таблице по категориям мера покажет:

CategoryRevenueRevenue Share
Техника84 00090,8 %
Аксессуары8 5009,2 %
Итого92 500100 %

Логика такая. В строке «Техника» числитель [Revenue] считается в фильтре этой категории — 84 000. В знаменателе ALL(Products) снимает фильтр с таблицы товаров, поэтому [Revenue] считается по всем категориям — 92 500. Родственная функция ALLEXCEPT снимает все фильтры с таблицы, кроме указанных столбцов.

Как читать CALCULATE

Читайте формулу с конца: сначала — «при каких условиях» (аргументы-фильтры), потом — «что считать» (первый аргумент). CALCULATE([Revenue], Sales[City] = "Киев") — это «оставь только Киев и посчитай выручку».

BI

DAX быстрее всего учится на реальных отчётах

На курсе Power BI в Prog Academy вы проходите путь от Power Query и модели данных до функций DAX и готового дашборда — с практикой, домашними заданиями и портфолио за 2 месяца.

Программа курса Power BI →

RELATED возвращает значение из связанной таблицы для текущей строки — это аналог VLOOKUP (ВПР), который работает по связи в модели. Функция идёт от стороны «много» к стороне «один»: от продажи — к товару.

Вычисляемый столбец в таблице Sales, который подтягивает категорию товара:

Category = RELATED(Products[Category])

Для заказа № 1 (ноутбук) столбец вернёт «Техника», для № 2 (мышка) — «Аксессуары».

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

Revenue Tech =
SUMX(
    FILTER(Sales, RELATED(Products[Category]) = "Техника"),
    Sales[Quantity] * Sales[Price]
)

Результат — 84 000. Тот же показатель можно получить короче: CALCULATE([Revenue], Products[Category] = "Техника"). Обе формулы правильные; вторая проще, и именно её стоит выбирать, когда условие — это сравнение столбца со значением.

Всегда ли нужен RELATED?

Нет. Если таблицы связаны, фильтр из справочника сам распространяется на таблицу продаж: ставите Products[Category] в строки визуала — и [Revenue] считается по категориям без всякого RELATED. Копировать столбцы из справочника в таблицу фактов обычно не нужно. Когда связи между таблицами нет, значение ищут функцией LOOKUPVALUE.

Таблица дат: CALENDAR, TOTALYTD, DATEADD

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

Calendar = CALENDAR(DATE(2026, 1, 1), DATE(2026, 12, 31))

CALENDAR возвращает таблицу с одним столбцом Date — по строке на каждый день между двумя датами. Функция CALENDARAUTO() делает то же самое, но границы диапазона определяет сама по датам в модели.

К таблице добавляют вычисляемые столбцы, по которым удобно группировать:

Year = YEAR('Calendar'[Date])

Month Number = MONTH('Calendar'[Date])

Month = FORMAT('Calendar'[Date], "MMMM")

Дальше три шага: связать 'Calendar'[Date] с Sales[Date], пометить таблицу как таблицу дат (Mark as date table) и использовать в визуалах даты именно из календаря, а не из таблицы продаж. Подробнее о требованиях — в справке Microsoft о таблицах дат.

Теперь работают функции временной аналитики (time intelligence):

Revenue YTD = TOTALYTD([Revenue], 'Calendar'[Date])

Revenue Previous Month =
CALCULATE(
    [Revenue],
    DATEADD('Calendar'[Date], -1, MONTH)
)

В таблице по месяцам эти меры вернут:

МесяцRevenueRevenue YTDRevenue Previous Month
Январь34 50034 500—
Февраль40 50075 00034 500
Март17 50092 50040 500

TOTALYTD накапливает выручку от начала года до текущей даты контекста, а DATEADD сдвигает период на указанное количество интервалов — здесь на один месяц назад.

Переменные VAR: как сделать формулу читаемой

Переменная в DAX — это именованный промежуточный результат внутри формулы: объявляется словом VAR, а итог возвращается после RETURN. Переменные делают длинные формулы понятными и позволяют не вычислять одно и то же выражение дважды.

Revenue MoM % =
VAR CurrentRevenue = [Revenue]
VAR PreviousRevenue =
    CALCULATE(
        [Revenue],
        DATEADD('Calendar'[Date], -1, MONTH)
    )
RETURN
    DIVIDE(CurrentRevenue - PreviousRevenue, PreviousRevenue)

На наших данных мера покажет прирост 17,4 % в феврале (40 500 против 34 500) и −56,8 % в марте (17 500 против 40 500). Для января предыдущего месяца в данных нет, поэтому DIVIDE вернёт пустое значение.

Microsoft рекомендует переменные по трём причинам: производительность, читаемость и более простая отладка — любую переменную можно временно вернуть в RETURN и посмотреть, что в ней лежит. Кроме того, переменные заменяют функцию EARLIER, которой в старых формулах обращались к внешнему контексту строки: в учебных материалах и чужих моделях она ещё встречается, но в новых формулах удобнее писать VAR.

Шпаргалка: базовые функции DAX

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

ГруппаФункцииЧто делают
АгрегатныеSUM, AVERAGE, MIN, MAX, COUNT, COUNTROWS, DISTINCTCOUNTСводят столбец или таблицу к одному числу
ИтераторыSUMX, AVERAGEX, MINX, MAXX, COUNTXВычисляют выражение для каждой строки и агрегируют результат
ЛогическиеIF, IFERROR, AND, OR, SWITCHПроверяют условия и возвращают разные значения
ФильтрацииCALCULATE, FILTER, ALL, ALLEXCEPTИзменяют контекст фильтра
СвязейRELATED, LOOKUPVALUEБерут значение из другой таблицы
Даты и времениCALENDAR, CALENDARAUTO, DATE, YEAR, MONTH, TOTALYTD, DATEADDСоздают календарь и считают показатели во времени
ИнформационныеISBLANK, ISEMPTY, ISFILTERED, BLANKПроверяют состояние значения или фильтра
ТекстовыеTRIM, LEFT, RIGHT, MID, FIND, FORMATОчищают и преобразуют текст
МатематическиеDIVIDE, ROUND, ABSБезопасное деление и округление

Типичные ошибки новичков в DAX

Большинство ошибок в DAX — не синтаксические, а логические: формула работает, но считает не то. Вот семь, которые встречаются чаще всего.

  1. Вычисляемый столбец вместо меры. Привычка из Excel — добавить столбец на любой случай. В Power BI это увеличивает модель, а доли и средние, посчитанные в столбце, в итогах дают неверные цифры. Показатели пишите мерами.
  2. SUM там, где нужен SUMX. Произведение сумм не равно сумме произведений: 1 280 000 вместо 92 500 в примере выше.
  3. Деление оператором /. Пустой месяц или нулевой знаменатель — и в визуале появляется ошибка или бесконечность. DIVIDE решает это одним аргументом.
  4. Нет связи между таблицами. Если мера показывает одинаковое число в каждой строке таблицы, чаще всего причина не в формуле, а в модели: связи нет, либо она неактивна или направлена не туда.
  5. Даты из таблицы фактов вместо календаря. Функции временной аналитики ожидают отдельную таблицу дат с непрерывным диапазоном, помеченную как таблица дат.
  6. Ссылки без названия таблицы. Общепринятая договорённость: столбцы пишут с таблицей — Sales[Price], меры без таблицы — [Revenue]. Тогда из формулы сразу видно, где столбец, а где мера.
  7. Одна формула на двадцать строк без переменных. Разбейте её на простые меры и VAR — и ошибку станет видно.

Практическое задание

Попробуйте написать три меры на том же наборе данных, а потом сверьте с ответами.

  1. Количество проданных единиц в категории «Аксессуары».
  2. Количество заказов из Львова.
  3. Доля Киева в общей выручке.
Показать решение
Accessories Quantity =
CALCULATE(
    SUM(Sales[Quantity]),
    Products[Category] = "Аксессуары"
)

Orders Lviv = CALCULATE(COUNTROWS(Sales), Sales[City] = "Львов")

Kyiv Share =
DIVIDE(
    CALCULATE([Revenue], Sales[City] = "Киев"),
    CALCULATE([Revenue], ALL(Sales[City]))
)

Правильные ответы: 11 единиц (3 + 2 + 5 + 1), 2 заказа и 55,7 % (51 500 из 92 500).

Нужно ли учить DAX, если Copilot пишет формулы

Да: Copilot ускоряет написание формул, но проверить, правильно ли они считают, может только человек, который понимает контекст фильтра и модель данных. Сгенерированная мера почти всегда синтаксически корректна — и именно поэтому ошибку в ней легко не заметить.

Copilot в Power BI умеет генерировать DAX — в частности, писать DAX-запросы в представлении DAX-запросов. Есть условие: по требованиям Microsoft, нужна платная ёмкость Fabric (F2 и выше) или Power BI Premium (P1 и выше) — одного бесплатного Power BI Desktop для этого недостаточно. Формулы также хорошо пишут универсальные AI-ассистенты, если описать им таблицы и связи.

Три вещи, которые AI за вас не сделает:

  • Не знает вашей модели. Если связь направлена не туда или таблицы дат нет, формула будет правильной «вообще», но неправильной в вашем отчёте.
  • Не знает бизнес-правил. Выручку считать с возвратами или без? С НДС? По дате заказа или оплаты? Это решение человека.
  • Не проверяет результат. Сверить меру с контрольным числом на маленькой выборке — как в этой статье — должен аналитик.

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

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

Частые вопросы

Что такое DAX простыми словами?

DAX (Data Analysis Expressions) — это язык формул Power BI. Им описывают расчёты над данными модели: меры вроде выручки или среднего чека, вычисляемые столбцы и таблицы. Формулы похожи на формулы Excel, но работают со столбцами и таблицами, а не с ячейками.

Чем DAX отличается от формул Excel?

Формула Excel ссылается на ячейки и диапазоны и возвращает значение в одну ячейку. Формула DAX ссылается на столбцы и таблицы модели, а её результат зависит от контекста фильтра: одна и та же мера показывает разные числа в разных строках визуала. Многие названия функций совпадают — SUM, IF, LEFT, — но логика вычисления другая.

Чем мера отличается от вычисляемого столбца?

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

В чём разница между SUM и SUMX?

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

Что делает функция CALCULATE?

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

С каких функций DAX начать новичку?

Начните с агрегатных функций SUM, AVERAGE, COUNTROWS и безопасного деления DIVIDE, дальше — логическая IF и итератор SUMX. После этого переходите к CALCULATE с FILTER и ALL, функции RELATED и таблице дат с CALENDAR. Этого набора хватает для большинства учебных и первых рабочих отчётов.

Сложно ли выучить DAX?

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

Нужно ли знать Excel, чтобы изучать DAX?

Формально нет, но опыт с Excel помогает: логика функций IF, SUM и текстовых функций знакома, а сводные таблицы готовят к идее мер и разрезов. При этом привычку думать ячейками придётся сменить на работу со столбцами, таблицами и связями между ними.

Можно ли писать DAX с помощью Copilot или ChatGPT?

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

Вывод

DAX — это язык, которым в Power BI описывают показатели: он работает со столбцами и таблицами, а результат каждой меры зависит от контекста фильтра. Чтобы уверенно начать, достаточно разобраться в пяти вещах:

  1. Мера или столбец. Показатели — мерами, признаки строк — столбцами.
  2. Агрегаты и итераторы. SUM — для одного столбца, SUMX — когда считать нужно в каждой строке.
  3. CALCULATE. Изменяет фильтры: добавляет условие, заменяет его или снимает через ALL.
  4. Связи. Правильная модель экономит половину формул; RELATED нужен реже, чем кажется.
  5. Таблица дат. Без неё не работают сравнения периодов.

Дальше — практика: воспроизведите набор данных из статьи, напишите каждую меру самостоятельно и сверьте цифры. Если хотите пройти этот путь с преподавателем и обратной связью, есть курс Power BI, а для тех, кто планирует профессию, — курс Data Analytics с модулями Power BI, Python, SQL и AI-инструментов.

Источники

Изучить Power BI и DAX →

Фото автора: Елена Булыга

Об авторе

Тренер Prog Academy по Power BI, преподаватель высшей школы

Преподаватель высшей школы: преподавала компьютерные науки в НТУ и бизнес-аналитику Power BI в университете КРОК. Сотрудничает с бизнесом в сфере аналитики данных; в блоге пишет о Power BI, DAX и визуализации данных.

Контакт

Записаться на консультацию

Укажите актуальный номер, мы позвоним в любую страну :)