Поймёте разницу между SUM и SUMX, рассчитаете выручку по строкам и увидите, почему итог меры иногда нельзя получить простой суммой столбца.
Если в таблице уже есть столбец Сумма, достаточно SUM. Но часто нужного столбца нет: есть количество, цена и скидка. Тогда результат для каждой строки надо сначала вычислить. SUMX берёт таблицу, проходит по её строкам, считает выражение и складывает получившиеся числа. Буква X в названии как раз намекает на итератор. Никакой тайной математики, просто аккуратный цикл внутри модели.
Что это значит простыми словами
SUM(Продажи[Сумма]) складывает значения одного столбца. SUMX(Продажи, Продажи[Количество] × Продажи[Цена]) сначала умножает количество на цену в каждой строке, а затем суммирует. Это важно для скидок, себестоимости, взвешенных средних и любых расчётов, где строка влияет на итог. Среднюю цену нельзя честно получить как среднее двух средних, а валовую прибыль — как разницу двух случайных агрегатов.
Формула и логика расчёта
Синтаксис: SUMX(таблица, выражение). Таблица может быть исходной или отфильтрованной. Внутри выражения действует строковый контекст: DAX знает, какую строку сейчас обрабатывает. Если выражение вызывает меру, появляется взаимодействие со filter context. Поэтому сложные SUMX лучше строить ступенями: базовые меры отдельно, фильтрация отдельно, итоговая итерация отдельно.
Подробный пример с числами

Есть три позиции заказа. Первая: 10 штук по 1 000 рублей, скидка 10%. Вторая: 5 штук по 2 000 рублей без скидки. Третья: 2 штуки по 4 000 рублей, скидка 25%. Выручка по строкам: 9 000, 10 000 и 6 000 рублей. SUMX по выражению Количество × Цена × (1 − Скидка) вернёт 25 000 рублей. Если сначала сложить количество и цену, а потом перемножить, получится бессмысленная цифра. А если усреднить скидки без веса, итог тоже уедет.
Проверьте результат на пяти строках вручную. Затем добавьте таблицу с идентификатором заказа, выражением по строке и итоговой мерой. Если общий итог отличается от суммы проверочных строк, возможно, мера внутри SUMX меняет контекст или таблица содержит дубли.
Как использовать в бизнесе
SUMX полезна, когда показатель должен отражать реальную экономику операции: выручку после скидки, переменную себестоимость, комиссию маркетплейса, стоимость доставки, плановую загрузку. Я не начинаю с функции. Сначала фиксирую формулу одной строки операции. Когда она понятна финансовому специалисту, переносим её в DAX и проверяем на конкретных документах.
Когда применять этот подход
Выбирайте SUMX, если внутри каждой строки нужно выполнить умножение, вычитание, условие или обращение к связанным данным. Для готового числового столбца используйте SUM: так формула короче и обычно быстрее. Если построчное выражение одинаково нужно во многих системах, обсудите его расчёт в витрине данных — это уменьшит число разных реализаций.
Как проверить результат

Полезная проверка — сумма по документам. Сначала посчитайте меру на уровне каждой позиции, затем сверните позиции до заказа и сравните итог с учётной системой. Отдельно найдите заказ с возвратом, скидкой и пустым значением. Именно такие строки показывают, что выражение работает не только на аккуратном демонстрационном наборе.
Как собрать расчёт по шагам
1. Определите уровень строки
Решите, что является одной операцией: позиция заказа, платёж, день или клиент.
2. Запишите выражение
Соберите формулу результата одной строки обычными словами и на одном числовом примере.
3. Выберите таблицу
Передайте SUMX только нужные строки; фильтрацию лучше видеть отдельно.
4. Сверьте ручной пример
Пересчитайте несколько строк калькулятором и сравните с Power BI.
5. Проверьте производительность
На большой модели уберите лишние итерации и заранее подготовьте устойчивые признаки в источнике.
Ограничения и типичные ошибки
- Использовать SUMX там, где достаточно SUM одного готового столбца.
- Итерировать таблицу с дублями и незаметно удваивать результат.
- Считать среднее из средних без правильного веса.
- Собирать огромную формулу, которую невозможно проверить на одной строке.
После изменения модели проверьте контрольный набор вручную и запишите дату проверки. Если источник, связь или определение показателя изменились, старый результат уже нельзя молча сравнивать с новым.
Как я делаю это в проектах
Я прошу команду показать три реальные строки из учётной системы. Вместе считаем их вручную, затем строим меру. Это занимает десять минут и часто экономит несколько часов поиска ошибки. После сверки добавляем контроль: сумма по заказам, сумма по дням и общий итог. Если цифры сходятся на всех уровнях, формулу можно отдавать в управленческий отчёт. Если нет — красивый график подождёт (он не обидится).
Что сделать прямо сейчас
Найдите одну меру SUMX и проверьте её на трёх строках исходных данных, включая скидку или другое изменяемое условие.
Если хотите собрать расчёт вместе с моделью и нормальной проверкой данных, можно обсудить задачу с ФАНалитикой. Начнём с одного показателя и доведём его до решения, а не до ещё одной формулы в коллекции.






