DAX
복사
SUMX(
<table>,
<expression>
)
column1 * column2, IF(...) 등)일반적인 SUM 함수 vs. SUMX
- SUM(): 특정 컬럼 값(숫자형)을 그대로 합산
- SUMX(): 각 행마다 수식을 먼저 실행한 뒤, 그 결과를 합산
- 즉, SUMX는 “행별 계산 → 합계”의 과정을 수행
ItemCount(재고 개수), PriceReg(정가) 컬럼이 있다고 할 때DAX
복사
Inven Cost =
SUMX(
Inventory,
Inventory[ItemCount] * Inventory[PriceReg]
)
ItemCount * PriceReg 계산DAX
복사
Inven Actual Cost =
SUMX(
Inventory,
Inventory[ItemCount]
* Inventory[PriceReg]
* (1 - Inventory[DiscountRate])
)
(개수 × 정가 × (1 - 할인율)) 을 계산한 후, 그 값을 합친 결과를 반환SUM(Inventory[ItemCount]))SUMX 필요SUMX와 유사한 구조지만, 합산 대신 평균/개수/최솟값/최댓값 등을 구함AVERAGEX(<table>, <expression>) → 각 행의 expression 결과값 평균table에 적용되는 행 범위가 달라질 수 있음(슬라이서, 페이지 필터 등)SUM(Inventory[ItemCount] * Inventory[PriceReg]) 식을 써도 내부적으로는 (합계 × 합계)가 되지 않지만,만약 Power BI가 이를 자동 변환하지 못하면 원하는 행별 계산이 안 될 수 있으므로 SUMX가 안전.SUM() 함수와 달리 행 단위 로직이 가능하므로, “계산식이 필요한 합계”에는 SUMX가 핵심입니다.결과적으로, 재고 관리나 매출 분석처럼 “(수량 × 단가) 합계”가 자주 나오는 시나리오에서
SUMX를 활용하면 쉽고 직관적인 집계를 구현할 수 있으므로, Power BI에서 많이 쓰이는 필수 함수 중 하나입니다.