아마 엑셀을 사용할 때 가장 많이 사용하는 함수중 하나가 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 중 맞는 수식을 사용해야 할 것 같습니다.

DAX를 이용할 때 꼭 알아야 할 한 가지가 있어서 먼저 말씀드리겠습니다.

DAX의 함수는 엑셀의 함수와 똑같은 것도 많고 다른 것도 많습니다.

처음 DAX의 함수를 접한 분들이 많이 혼돈스러워하는 부분은 엑셀과 약간 다른 명령체계입니다.

엑셀은 각각의 셀에서 아주 자유롭게 수식을 만들고 사용할 수 있습니다.

즉 같은 열에 있는 행이라도 얼마든지 자유롭게 다른 수식을 만들 수 있고, 다른 속성의 데이터 입력이 가능합니다.

하지만 DAX는 파워쿼리를 기반으로 명령문이 작성되기 때문에 반드시 열단위로 구성이 되어야 합니다.

아래의 파워쿼리 데이터를 보겠습니다. (엑셀이 아닙니다)

필드의 이름이 도시, 지점, 날짜, 매출, 연도로 구성이 되어있고 각각의 속성은 문자, 문자, 날짜, 금액, 문자 이렇게 구성이 되어있습니다.

엑셀이 계산을 할 때=A1*B1이라고 각 셀을 이용한다면 DAX는 =매출*연도라는 형식을 가집니다. (물론 매출은 숫자, 연도는 문자의 속성을 가지므로 결과치는 에러가 나오겠지만 간단히 예를 들어본 것이니 이해 바랍니다.)

사진 설명을 입력하세요.

그리고 엑셀은 반환 값이 기존의 셀에 입력이 되기 때문에 따로 수식의 제목이 필요가 없지만, DAX에서는 반드시 수식의 제목이 있어야 합니다.

만약 매출*연도라는 반환 값을 총매출로 하고 싶다면

총매출 = 매출*연도라고 입력을 해야 하며 매출과 연도를 곱해서 나온 결과는 총매출이라는 측정값에 저정이 됩니다.

여기서 중요한 사항은 총매출은 매출 열과 연도 열을 곱한 전체의 합이라는 걸 알아야 합니다.

아까도 말씀을 드렸듯이 DAX는 열 단위로 구성이 되기 때문에 전체의 합이 저장이 된다는 걸 반드시 기억하시고 DAX의 함수를 시작하겠습니다.

'DAX > DAX' 카테고리의 다른 글

DAX에서 COUNTIF 함수 만들어 사용하기  (0) 2021.03.27
DAX에서 SUMIF 함수 만들어 사용하기  (3) 2021.03.27
DAX에서 IF 함수의 사용  (0) 2021.03.27
SUM과 SUMX의 차이점을 알아보자  (0) 2021.03.27
DAX란 무엇인가?  (2) 2021.03.27

DAX는 Data Analysis Expression의 약자라고 합니다.

수식을 계산하고 결과치를 반환하기 위한 함수, 연산자 및 상수 등의 조합이라 할 수 있으며, 기존에 있는 데이터를 이용하여 새로운 데이터를 만들 수 있게 해 줍니다.

DAX가 중요한 이유는 데이터를 파워비아이에 불러온 뒤 보고서를 만들 때 기존에 있는 데이터를 써서 보고서를 만들 수도 있지만, 기존 데이터를 바탕으로 보다 다채로운 데이터를 만드는 것이 가능하기 때문입니다.

가령 회사의 매출 데이터가 있다고 가정을 하면, 단순히 매년 기록한 데이터가 DAX로 인해 각 세부 품목별 판매 변화는 얼마인지를 알 수 도 있고, 매년 판매 신장률을 어떤 변화가 있었는지도 계산이 가능합니다.

이처럼 DAX는 여러 함수로 구성된 수식을 통해 데이터의 분석을 가능하게 할뿐더러 이를 이용해 보고서 뷰에서 시각적으로 모든 반환 값을 보여주는것도 가능하기 때문에 파워비아이에서 아주 중요한 부분이라 할 수 있겠습니다.

엑셀에서 수많은 데이터를 함수나 수식을 사용해서 원하는 데이터의 반환값을 계산하는 것과 같은 것이라 생각하면 됩니다.

하지만 엑셀은 셀 하나하나가 독립적으로 구성이 되어서 수식 입력이 비교적 자유로운데 반해서, DAX는 항상 필드의 열 단위로 수식을 구성해야 하기 때문에 열에 대한 데이터의 속성을 가장 먼저 정리하는 습관을 들이는 것이 좋습니다.

고리타분한 이야기보다는 역시 실제의 예를 가지고 이야기를 풀어가는 것이 좋겠죠?

여러 가지의 예시를 가지고 연습을 하다 보면 개념도 잡히고, 실무에 대한 감각도 늘 것이라 생각합니다.

말이 길어졌는데 다음 글부터 DAX에 사용되는 함수가 어떤 것이 있는지 알아보도록 하겠습니다.

파워비아이는 데이터 분석을 위한 도구이자, 데이터를 도표나 그래프 또는 숫자 등으로 시각적으로 보여주기 위한 프로그램이기에 DAX를 모르고서는 효과적인 시각화가 거의 불가능하다는 걸 기억하시길 바라며, 조금 어렵더라도 한 단계 한단계 같이 넘어갔으면 합니다.

+ Recent posts