Как стать автором
Обновить

Темная магия SUM и SUMX

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.9K

Сквозь тьму и мистику я призываю вас к изучению и овладению искусством Power BI, чтобы возводить величественные визуализации и творить таинственную аналитику данных.
В этом чертоге знаний я буду делиться оккультными советами, таинственными руководствами и практическими ритуалами по темам, которые могут включать моделирование данных, заклинания DAX, проектирование отчетов и многое другое.
Мои заметки по Power BI вы сможете искать по тегу #PBI_M1o

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

Функция SUM

SUM — это простое заклинание, принимающее имя столбца в качестве аргумента и возвращающее сумму всех значений в этом столбце.

Представьте себе таблицу Sales с колонной SalesAmount.

Произнесите заклинание:
SalesAmount = SUM('Sales'[SalesAmount])
И получите общую сумму продаж в ваших данных. Легко, не так ли? Но что, если вы хотите наложить свою магию или вычисления на каждую строку перед их суммированием?
Что, если столбец SalesAmount отсутствует, и вам нужно его создать? У вас есть столбцы OrderQuantity и UnitPrice. Мы не можем просто сложить их и умножить результат, чтобы получить SalesAmount, ибо нам необходимо умножить каждый столбец в каждой строке и затем сложить результаты.

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

Функция SUMX

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

Чтобы вызвать SalesAmount из столбцов OrderQuantity и UnitPrice, произнесите заклинание:

SalesAmountSX = SUMX('Sales', 'Sales'[OrderQuantity] * 'Sales'[UnitPrice])
Эти слова магии дадут вам SalesAmount, умножив OrderQuantity и UnitPrice для каждой строки и сложив результаты. SUMX позволяет использовать любое заклинание, включающее несколько столбцов таблицы, а не только один.

В дополнение к SUMX, в вашем арсенале могут быть полезны другие заклинания-итераторы DAX, такие как MAXX и MINX и т.д.

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

Не забудьте сохранить это заклинание в своем свитке чтения. Ожидайте новых записей с множеством других темных секретов и приемов Power BI.

Теги:
Хабы:
Всего голосов 5: ↑4 и ↓1+7
Комментарии3

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн