Гид по технологиям

Как добавить вычисляемый столбец в Power BI

4 min read Power BI Обновлено 19 Nov 2025
Вычисляемые столбцы в Power BI — шаги и примеры
Вычисляемые столбцы в Power BI — шаги и примеры

Кратко

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

Схема Power BI: вычисляемые столбцы и меры

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

Введение

Коротко о терминах:

  • DAX — язык формул в Power BI. Используйте его для расчётов в мерах и вычисляемых столбцах.
  • Мера (measure) — агрегированное вычисление, зависящее от фильтров и контекста визуализации.
  • Вычисляемый столбец — значение, рассчитанное для каждой строки таблицы при загрузке или обновлении данных.

Ниже — практический кейс: пользователь хочет добавить столбец с формулой ([q’ty per unit of 3rd month] – [q’ty per unit of 2nd month]) * [Price per Unit of 3rd month].

Пример таблицы Power BI с колонками и матрицей

Шаги: как добавить вычисляемый столбец или меру

1. Создайте меру с помощью DAX

DAX (Data Analysis Expressions) — это язык формул. Меры часто гибче, чем вычисляемые столбцы, потому что подстраиваются под срезы и фильтры.

Пример меры, адаптированной под конкретные месяцы (вставьте в поле создания меры):

Result =
VAR qty_per_unit_of_3rd_month =
CALCULATE ( MAX ( Table[q’ty per unit] ), FILTER ( Table, Table[Month] = 3 ) )
VAR qty_per_unit_of_2rd_month =
CALCULATE ( MAX ( Table[q’ty per unit] ), FILTER ( Table, Table[Month] = 2 ) )
VAR Price_per_Unit_of_3rd_month =
CALCULATE ( MAX ( Table[Price per Unit] ), FILTER ( Table, Table[Month] = 3 ) )
RETURN
qty_per_unit_of_3rd_month – qty_per_unit_of_2rd_month * Price_per_Unit_of_3rd_month

Советы:

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

Важно: формула выше ориентирована на специфические номера месяцев (2 и 3). Если в отчёте используются слайсеры, лучше сделать меру, учитывающую выбранный диапазон.

2. Мера, реагирующая на слайсер (динамическая)

Если вы хотите сравнивать первый и последний выбранные месяцы в слайсере, используйте меру, которая опирается на ALLSELECTED:

Result =
VAR qty_per_unit_of_first_month_in_slicer =
CALCULATE ( MIN ( Table[q’ty per unit] ), ALLSELECTED ( Table ) )
VAR qty_per_unit_of_last_month_in_slicer =
CALCULATE ( MAX ( Table[q’ty per unit] ), ALLSELECTED ( Table ) )
VAR Price_per_Unit_of_last_month =
CALCULATE (
MAX ( Table[Price per Unit] ),
FILTER ( Table, Table[Month] = qty_per_unit_of_last_month_in_slicer )
)
RETURN
qty_per_unit_of_last_month_in_slicer – qty_per_unit_of_first_month_in_slicer * Price_per_Unit_of_last_month

Пояснение: эта мера автоматически подтягивает минимальное и максимальное значения по выбранным месяцам и выполняет расчёт для сравнения.

Альтернативные подходы

  • Вычисляемый столбец: полезен, если расчёт нужен на уровне строки и не зависит от выбора на отчёте. Но он увеличивает размер модели.
  • Power Query (M): делайте подготовку данных и предвычисления при загрузке. Подходит для сложных строковых преобразований и объединений.
  • Используйте временные таблицы (GENERATESERIES/ADDCOLUMNS) для скользящих окон и сравнений между периодами.

Когда расчёт может не сработать

  • В модели отсутствуют нужные индексы или дата-ключи.
  • Колонки содержат текст вместо чисел (нужна явная конвертация).
  • Неправильный контекст фильтрации: мера возвращает одно значение для всего визуала.
  • Дублирующиеся периоды без ключа строки приводят к неопределённости в MAX/MIN.

Мини-методология: как проверять расчёт

  1. Создайте вспомогательный визуал с полями Month, q’ty per unit, Price per Unit.
  2. Примените меру и сравните числа вручную на нескольких строках.
  3. Проверьте крайние значения (NULL, 0, отрицательные).
  4. Включите временный фильтр на конкретный месяц и сравните результат с ожиданием.

Чек-лист по ролям

  • Аналитик:
    • Проверил имена колонок.
    • Убедился, что данные типов numeric.
    • Сверил значения на 3–5 строках вручную.
  • Разработчик отчёта:
    • Добавил меру в модель.
    • Настроил формат вывода (валюта/десятичные).
    • Обработал пустые значения через IF or COALESCE.
  • Руководитель/тестировщик:
    • Принял отчёт по критериям приёмки.

Критерии приёмки

  • Мера возвращает ожидаемые значения для выбранных месяцев.
  • Формула устойчива к пустым значениям и ошибкам типов.
  • Производительность в пределах допустимого (отклик визуала за секунды при тестовых данных).

Краткая шпаргалка (cheat sheet)

  • ALLSELECTED(Table) — глубина фильтрации по слайсерам.
  • CALCULATE(expression, filters) — изменяет контекст вычисления.
  • VAR … RETURN — читаемая запись промежуточных результатов.
  • COALESCE(x, 0) — заменяет NULL на 0.

Пример диаграммы принятия решения

flowchart TD
  A[Нужен расчёт] --> B{Зависит ли расчёт от слайсеров?}
  B -- Да --> C[Создать меру 'measure' в DAX]
  B -- Нет --> D{Нужно ли хранить результат на уровне строки?}
  D -- Да --> E[Создать вычисляемый столбец]
  D -- Нет --> F[Предобработать в Power Query]

Глоссарий в одну строку

  • Мера (measure) — агрегированное вычисление, зависящее от контекста визуализации.

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

Похожие материалы:

  • Как добавить фильтры в Power BI — простые шаги
  • 5 бесплатных облачных бухгалтерских программ
  • Лучшее ПО для набора математических формул

Инструкция по DAX и слайсерам

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство