Перейти к содержимому
Учи.Онлайн Выбрать школу
Статья

DAX в Power BI: меры, вычисления и контекст фильтра

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

Автор: редакция Учи.ОнлайнОтветственный редактор: Дмитрий Игнатьев
Содержание
Ноутбук с условной диаграммой продаж и таблица исходных данных в блокноте

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

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

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

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

Откуда берётся контекст фильтра

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

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

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

Как строится понятная мера

Пусть таблица Sales содержит позиции заказов, а Amount — сумму отдельной позиции. Выручку по доступным строкам можно выразить так:

Revenue = SUM(Sales[Amount])

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

AverageOrder = DIVIDE(
    [Revenue],
    DISTINCTCOUNT(Sales[OrderId])
)

Функция DIVIDE помогает описать деление с предусмотренным поведением при нулевом знаменателе. Смысл показателя при этом зависит от данных: сумма должна относиться к тем же заказам и условиям, по которым считается количество. Понятное название меры не заменяет этого содержательного определения.

Как осваивают расчёты в модели данных

Курс «Бизнес-аналитика с Power BI» в Нетологии связывает DAX с подготовкой модели и созданием отчётов. Расчёты изучаются как часть аналитической работы: данные нужно организовать, получить показатели и показать их пользователю. Это помогает видеть, откуда берётся число на диаграмме и какие условия на него влияют.

Открыть курс Power BI

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

Как связывают подготовку данных с вычислениями

Курс «Power BI и Power Query» в SF Education охватывает преобразование данных, модель, функции DAX и создание информационных панелей. Такая последовательность помогает понять, почему качество расчёта зависит от того, как подготовлены исходные таблицы и устроены связи между ними.

Открыть курс Power BI и Power Query

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

Что меняет CALCULATE

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

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

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

Почему общий средний чек считают заново

Предположим, в одной группе был один заказ на 100, а в другой — три заказа общей суммой 900. Средний чек групп составляет 100 и 300. Для общего результата сумма 1000 делится на четыре заказа, и получается 250. Сложение двух средних или их простое усреднение решало бы другую математическую задачу.

Такой пример объясняет поведение меры в итоговой ячейке. Там меняется контекст, и отношение выручки к числу заказов рассчитывается для общего набора данных. Итог продолжает определение показателя, даже если визуально он расположен под отдельными средними значениями.

На практике это помогает обсуждать числа с пользователем отчёта. Можно показать исходные суммы и количество заказов и вместе восстановить расчёт. Тогда вопрос о непохожем итоге становится понятным разговором о смысле показателя, а не поиском случайной ошибки в отображении.

Почему связи таблиц влияют на число в отчёте

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

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

Значение имеет и уровень подробности. Строка заказа, отдельная позиция и месячный итог описывают разные объекты. При их объединении без понимания уровня данных легко получить повторное включение суммы. Обучение помогает связывать каждую меру с тем, что означает одна строка исходной таблицы.

Понятие Какой вопрос оно проясняет
Вычисляемый столбец Какое значение относится к отдельной строке
Мера Что рассчитывается для текущих условий отчёта
Контекст фильтра Какие данные участвуют в вычислении
Связь таблиц Как условие передаётся между частями модели
CALCULATE Как изменяется контекст для выражения

Как учебный разбор делает формулу объяснимой

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

Далее изменяется одно условие: категория, период или выбранная группа клиентов. По результату видно, какие строки остались в расчёте. Такой порядок помогает связать поведение отчёта с контекстом и не превращать исправление выражения в случайный подбор функций.

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