본문 바로가기
POWER BI

[Power BI/파워비아이] DAX를 이해해보자!

by 하니in독일 2024. 9. 30.
반응형

 
 
안녕하세요? 
POWER BI를 이용한 간단한 시각화 보고서를 만드는 법에 대해 계속 소개를 드리고 있는데요. 단순히 이미 만들어진 데이터를 시각화하기보다는, 데이터를 깊이 이해하고 더 깊고 다양한 결과를 시각화하기 위해서는 "DAX"라는 마법이 필요합니다 :) DAX를 처음 접할 때에는 매우 어렵고, 이해할 수 없다고 생각할 수 있지만.. 사실은 매우 매력적이고 직관적이라는 것을 알게 되실 거에요! 
 
그래서 오늘은 DAX의 기본 개념과 몇몇의 예시를 통해 어떻게 시작할 수 있는지에 대해 알아보겠습니다. 


DAX란 무엇인가?

 
DAX는 “Data Analysis Expressions”의 약자로, 데이터를 분석하고 모델링하는 데 사용되는 도구입니다. 
쉽게 설명하자면, 내가 분석하고자 하는 내용을 식으로 적어 그 결과값을 찾아내는 과정이라고 할 수 있는데요. 
 
이렇게만 설명하면 뭔가 어렵고, 더 모호하지 않나요? 
아래 예시를 통해 좀 더 쉽게 이해해보아요.
 


예시 데이터: 카페의 하루 판매 기록

주문 번호 Product Quantity Price Barista
2001 Latte 3 4.5 A
2002 Espresso 2 3.0 B
2003 Cappuccino 1 5.0 C
2004 Latte 4 4.5 A
2005 Mocha 1 5.5 B

 


DAX 예시

 
Q1. 오늘 제일 많이 판매된 음료수는 무엇일까요?
이 문제를 분석하기 위해 필요한 것이 바로 DAX입니다! 
위의 표 중에서 Quantity의 총합이 가장 큰 Product를 찾는 것이 목표이지요. 
그래서 아래와 같이 DAX 수식을 써 줄 수 있습니다. 

Best Seller = 
Summarize (
	sales,
    sales[Product], 
    "Total Quantity", SUM(Sales[Quantity])
    )

 
Q2. 고객들의 평균 주문 금액은 어떻게 될까요? 
이 질문을 해결하려면 무엇이 필요할까요? 
 
얼마나 팔았는지, 즉, Quantity를 알아야겠죠? 그리고 각 음료의 가격이 필요해요. 마지막으로 총 몇 명의 손님이 방문했는지가 필요합니다. 
 
먼저 quantity의 총합을 알기 위해서는 SUM을 이용할 수 있어요 

Quantity_Sum=SUM(sales[Quantity])

 
그다음으로는 각 음료의 가격을 총합과 함께 계산해 줄 수 있겠죠. 
즉, (3*4.5)+(2*3.0)+(1*5.0).. 이렇게 구할 수 있는 것이죠. 이것을 DAX로 표현하면 다음과 같아요.

Order Value = SUM(Sales[Quantity]*Sales[Price])

 
마지막으로, 평균 주문 금액을 구하려면 order value를 총 주문 개수로 나누어야 합니다. 
총 주문 개수를 계산하기 위해 countrows (열의 갯수 세기)를, 평균값을 위해 divide (나누기)를 사용해 주면 완성입니다.

Average Order Value = DIVIDE(SUM(Sales[Quantity] * Sales[Price]), COUNTROWS(Sales))

 
지금까지 DAX의 기본적인 기능을 몇 가지 재미있는 예시와 함께 소개했습니다. DAX를 통해서 데이터 속 숨겨진 이야기를 발견하고, 더 나은 비즈니스 결정을 내릴 수 있습니다. 
 
앞으로 DAX를 이해하기 위한 예시와 시각화 보고서를 가지고 함께 연습해 보도록 할게요! 
혹시 시각화 보고서를 만들거나, POWER BI를 연습하면서 어려운 점이 있다면 언제든지 댓글로 달아 주세요. 
 
감사합니다. 

반응형