아마 엑셀을 사용할 때 가장 많이 사용하는 함수중 하나가 SUM이라 생각합니다.

DAX에서는 SUM외에 SUMX라는 함수를 가지고 있는데 간단히 알아보겠습니다.

A,B,C라는 Type의 개수와 단가를 보여주는 표입니다.

그리고 아래에서 Total이라고 보이는 것은 SUM을 이용한 결과치이고 Totalx라는 것은 SUMX의 결과치입니다.

도표상으로는 Total이 맞는 것 같지만 실제의 데이터를 보면 Total은 잘못된 결과입니다.

두 함수의 다른 점은 SUM은 수직으로 계산을 하는 반면 SUMX는 수평적인 계산을 한다는 것입니다.

비슷한 엑셀의 함수는 SUMPRODUCT라고 생각을 하면 되겠습니다.

Type A를 예를 들자면 데이터 내부에 있는 모든 A의 개수와 단가를 먼저 곱한 뒤 합계를 계산합니다.

즉 2x34=68, 4x23=92, 4x48=192 그래서 68+92+192=352로 결과를 보여줍니다.

다시 SUM으로 돌아가면 일단 수직으로 개수 2+4+4=10, 단가 34+23+48=105를 먼저 계산한 뒤 개수와 단가의 합을 곱하기 때문에 결과가 다르게 나오는 것입니다.

기본적인 수식의 형태는 아래와 같으며

SUM(<column>)

SUMX(<table>, <expression>)

여기서는 아래와 같이 수식을 입력하였습니다.

Total = SUM(Sales[Cost])*sum(Sales[EA])

Totalx = SUMX('Sales','Sales'[EA]*'Sales'[Cost])

데이터와 그에 맞는 결과치를 생각하며 SUM과 SUMX 중 맞는 수식을 사용해야 할 것 같습니다.

+ Recent posts