본문 바로가기
POWER BI

[Power BI/파워비아이] DAX - Calculate 함수에 대해 알아보자

by 하니in독일 2024. 10. 14.
반응형

 

 

 

안녕하세요? 오늘은 POWER BI DAX에서 가장 많이 쓰이는 함수 중 하나인, CALCULATE에 대해 알아보겠습니다. 

CALCULATE 함수는 일반적인 SUM/AVERAGE/COUNT와 같은 함수에 필터 콘텍스트 추가하거나, 수정하여 특정 조건에 따른 계산을 수행할 수 있게 하는 특별한 함수입니다. 

 

BI (Business Intelligence) 보고서를 작성할 때에 이 함수는 데이터를 다양한 시각으로 보여주는데 유용하게 쓰일 수 있기 때문에, 매우 매우 중요한 역할을 합니다! 

 

아래에 예시를 보며 함께 CALCULATE 함수에 대해 더 깊게 알아보는 시간을 갖도록 해 보아요. 


1. CALCULATE의 역할

CALCULATE는 다음 두 가지 주요 역할을 수행합니다:

1. 집계 함수와 함께 사용하여 조건부 계산을 수행: 예를 들어, 특정 제품군에 대한 매출 합계를 구하거나 특정 기간 동안의 평균 판매량을 계산할 때 사용할 수 있습니다.
2. 필터 컨텍스트 변경: Power BI 보고서에서 특정 차원(예: 날짜, 지역, 제품 유형 등)에 따라 데이터를 필터링하여 동적으로 결과를 생성합니다.

 

2. `CALCULATE` 함수의 구문

Calculate_value = CALCULATE(<expression>, <filter1>, <filter2>,...)

 

<expression>: 계산하려는 수식 또는 집계 함수입니다. 예를 들어, `SUM(Sales [Amount])`와 같은 집계 함수가 여기에 들어갑니다.
<filter1>, <filter2>,...: 적용할 필터 조건들입니다. 여러 필터를 사용하여 조건을 세밀하게 설정할 수 있습니다.


온라인 쇼핑몰의 판매 데이터를 이용해 예시를 보여드리겠습니다. 

 

OrderID  ProductName  Price  Quantity  Discount 
001 Laptop 1000 2 0.1
002 Smartphone 800 1 0.05
003 Headphones 200 3 0.15
004 Tablet 500 5 0.0
005 Laptop 1000 1 0.2


1. 특정 제품의 총매출 계산

예를 들어, "Laptop" 제품에 대한 총매출을 계산한다고 가정해 보겠습니다.
다음과 같은 식으로 제품의 매출을 계산할 수 있습니다. 

 

LaptopTotalSales = 
CALCULATE(
    SUM(Sales[Price] * Sales[Quantity] * (1 - Sales[Discount])),
    Sales[ProductName] = "Laptop"
)

 

하나하나 뜯어서 살펴볼까요? 

 

1. SUM(Sales [Price] * Sales [Quantity] * (1 - Sales [Discount])):

가격과 개수를 곱한 뒤, 할인율을 뺀 실제 매출 값을 계산합니다. 앞서 본 계산식에서, expression 부분이라고 할 수 있습니다.

 

2. Sales [ProductName] = "Laptop" :

원하는 필터를 지정해 줍니다. 


결과는? 첫 번째 주문과 다섯 번째 주문을 합친 가격인 2600이 나오게 됩니다.

그러면 계산열을 만들어 두 번을 계산하지 않아도, 원하는 결과를 바로 한 번의 계산으로 해결할 수 있지요! 


총합/결론

DAX를 사용할 때 가장 많이 사용하는 함수를 꼽으라고 한다면, 단연코 CALCULATE 함수가 꼭 들어가는데요. DAX에서 데이터를 필터링하고, 좀 더 다이내믹한 분석을 하고자 할 때 필수입니다! 

앞으로 이 함수를 통해 POWER BI 보고서를 좀 더 심층적으로 보여줄 수 있기를 바랍니다. 감사합니다. 

 

반응형