Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

대용량 데이터를 다룰 때 IF나 VLOOKUP 같은 Excel의 고급 수식은 번거롭고 관리하기 어려워질 수 있습니다. 반면 Power BI에서 제공하는 DAX(Data Analysis Expressions)는 이러한 복잡한 계산을 한층 간결하고 효율적으로 처리할 수 있게 해줍니다. DAX 수식을 활용하면 기존 Excel 수식보다 성능이 뛰어나고 유지보수가 쉬운 계산 열, 측정값, 계산 테이블을 만들 수 있습니다.

이 글에서는 복잡한 Excel 계산을 단순화해 주는 Power BI DAX 수식 5가지를 소개합니다. Excel 고급 사용자라면 DAX를 익히는 것만으로도 Power BI 활용 능력이 크게 향상되고, 데이터 분석 작업도 더욱 견고하고 효율적으로 수행할 수 있습니다.

1. CALCULATE: 필터 컨텍스트 변경

Excel에서 특정 조건에 따라 값을 계산하려면 중첩된 IF 문을 사용해야 하는 경우가 많습니다. DAX의 CALCULATE 함수는 필터 컨텍스트를 훨씬 효율적이고 가독성 좋게 변경할 수 있게 해줍니다. CALCULATE는 DAX에서 가장 강력한 함수 중 하나로, 복잡한 집계와 동적 필터링을 손쉽게 구현할 수 있습니다.

Excel 대응 수식: 중첩 IF 문

Excel에서는 보통 다음과 같이 작성합니다:

=IF(A2 > 100, "High", IF(A2 > 50, "Medium", "Low"))

Power BI DAX:

Filter Sales Category =
CALCULATE (
IF (SUM(Sales[SalesAmount]) > 50000, "High", "Low"),
Products[Category] = "Book"
)

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

이 예제에서 CALCULATE는 먼저 필터 컨텍스트를 "Book" 카테고리 데이터만 포함하도록 변경한 뒤, 총 매출액이 50,000을 초과하는지 평가합니다.

CALCULATE는 현재 필터 컨텍스트를 수정합니다. 즉, 기존 필터를 무시하고 지정한 조건을 대신 적용하라고 Power BI에 지시하는 것이며, 필요에 따라 여러 조건을 중첩해서 사용할 수도 있습니다.

2. RELATED: 관련 테이블 데이터 가져오기

Excel에서는 다른 테이블의 값을 가져올 때 조회(lookup) 함수를 사용합니다. Power BI에서는 RELATED 함수가 이 과정을 훨씬 직관적이고 효율적으로 만들어 줍니다.

Excel 대응 수식: VLOOKUP

Excel에서 다음과 같은 수식은,

=VLOOKUP(A2, SalesData, 2, FALSE)

첫 번째 열의 값이 A2와 일치하는 행의 SalesData 테이블 두 번째 열 값을 반환합니다.

Power BI DAX: RELATED

DAX의 RELATED 함수는 관계로 연결된 테이블에서 값을 가져옵니다. RELATED를 사용하려면 Power BI 데이터 모델에서 두 테이블 간에 관계가 설정되어 있어야 합니다.

  • Sales 테이블의 계산 열
Product Category = RELATED(Products[Category])

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

여기서 RELATED 함수는 미리 설정된 관계를 기반으로 Products 테이블에서 제품 카테고리를 가져옵니다. 덕분에 복잡한 조회 수식이 필요 없어지고, 데이터 모델을 활용하기 때문에 오류 발생 가능성도 줄어듭니다.

3. SWITCH(TRUE(), …): 중첩 IF 문을 깔끔하게 대체

Excel의 IF 함수는 조건이 많아지면 관리하기 어려워지지만, DAX의 SWITCH 함수는 조건부 로직을 훨씬 간결하게 정리해 줍니다. 여러 조건을 깊게 중첩된 IF 문 없이 처리해야 할 때 특히 유용합니다.

Excel 대응 수식: 중첩 IF 문

Excel에서는 다음과 같이 작성할 수 있습니다:

=IF(A2>100000,"High",IF(A2>50000,"Medium",IF(A2>10000,"Low","Tiny")))

Power BI DAX:

Sales Tier =
SWITCH(
TRUE(),
[Total Sales] > 200000, "High Performer",
[Total Sales] > 150000, "Strong",
[Total Sales] > 100000, "Moderate",
"Entry Level"
)

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

[Total Sales]는 또 다른 측정값입니다:

Total Sales = SUM(Sales[Amount])

고객 세그먼트: 계산 열

Customer Segment Logic =
SWITCH(
TRUE(),
CALCULATE([Total Sales]) > 75000 && RELATED(Regions[Country]) = "United States", "US VIP",
CALCULATE([Total Sales]) > 50000 && RELATED(Regions[Country]) = "United Kingdom", "UK Premium",
CALCULATE([Total Sales]) > 30000 && RELATED(Regions[Country]) = "Canada", "Canada Premium",
Customers[CustomerType] = "Premium", "Premium Customer",
"Standard"
)

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

이 방식은 깊게 중첩된 IF 문보다 가독성이 훨씬 뛰어납니다. 고객 세그먼트 분류, 구간 나누기, KPI 등급화 같은 분류 로직에 이상적입니다.

4. SUMX: 테이블을 순회하며 합계 계산

행별로 계산을 수행한 후 그 결과를 집계해야 할 때는 SUMX가 적합합니다. SUMX는 테이블을 한 행씩 순회하며 각 행에 대해 식을 평가한 다음, 그 결과를 모두 더합니다.

Excel 대응 수식: SUMPRODUCT

Excel에서는 다음과 같이 사용합니다:

=SUMPRODUCT(A2:A10, B2:B10)

Power BI DAX:

Total Revenue = 
SUMX(
Sales,
Sales[Quantity] * Sales[UnitPrice]
)

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

SUMX 함수는 Sales 테이블의 각 행을 순회하면서 Quantity와 UnitPrice를 곱한 뒤, 그 결과를 모두 합산합니다.

5. CALCULATE + 시간 인텔리전스: 수작업 날짜 로직 제거

Excel에서 날짜 기반 계산은 복잡한 SUMIFS, OFFSET, INDEX/MATCH 패턴에 의존하는 경우가 많습니다. DAX는 내장된 시간 인텔리전스(time intelligence) 함수를 제공하여 이러한 작업을 크게 단순화합니다.

Power BI DAX:

Sales YoY % Growth =
VAR CurrentSales = SUM(Sales[SalesAmount])
VAR PreviousSales =
CALCULATE(
SUM(Sales[SalesAmount]),
SAMEPERIODLASTYEAR('Calendar'[Date])
)
RETURN
DIVIDE(CurrentSales - PreviousSales, PreviousSales, 0)

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

간단한 내장 시간 인텔리전스 측정값:

YTD Sales =
TOTALYTD(
SUM(Sales[SalesAmount]),
'Calendar'[Date]
)
Sales vs Last Year =
CALCULATE(
SUM(Sales[SalesAmount]),
PARALLELPERIOD('Calendar'[Date], -1, YEAR)
)

이러한 함수들은 월, 분기, 회계연도 슬라이서를 포함해 보고서의 어떤 날짜 필터와도 자연스럽게 연동됩니다. 별도의 도우미 열이나 수작업 조정이 전혀 필요하지 않습니다.

보고서에 적용된 DAX 수식:

Power BI DAX 완벽 마스터: 복잡한 Excel 계산을 단순화하는 필수 수식 5가지

팁: DIVIDE로 오류 처리하기

Excel에서 0으로 나누면 오류가 발생하는 경우가 많습니다. DAX는 DIVIDE 함수를 통해 0으로 나누기를 안전하게 처리하는 더 견고한 방법을 제공합니다.

DIVIDE 함수는 0으로 나누기가 발생했을 때 대체 결과값을 지정할 수 있습니다:

Profit Margin = DIVIDE(Sales[Profit], Sales[Total Revenue], 0)

이 함수는 분모가 0일 때 0을 반환하므로, 추가 로직 없이도 오류를 방지할 수 있습니다.

Excel 사용자를 위한 빠른 시작 팁

  • 항상 관계를 먼저 설정하세요: RELATED와 CALCULATE의 강력한 기능은 바로 여기서 나옵니다
  • 계산 열보다는 측정값을 만드세요: 측정값이 일반적으로 더 빠르고 유연합니다
  • 변수(VAR)를 활용하세요: 가독성과 유지보수성이 크게 향상됩니다
  • 빈 시각적 개체에서 테스트하세요: 카드나 테이블, 슬라이서를 활용해 측정값을 검증하세요
  • 성능 팁: 필터는 최대한 좁게 유지하세요. 열 단위 직접 필터가 일반적으로 전체 테이블 스캔보다 빠릅니다

마무리

CALCULATE, RELATED, SWITCH, SUMX, 그리고 시간 인텔리전스 함수 — 이 다섯 가지 Power BI DAX 수식은 중첩 IF 문이나 VLOOKUP처럼 복잡한 Excel 수식이 필요했던 계산을 훨씬 깔끔하고 효율적으로 처리할 수 있게 해줍니다. 이 기법들을 업무 흐름에 도입하면 데이터 모델을 단순화하고, 성능을 개선하며, 확장성 있는 보고서를 만들 수 있습니다.

무료 고급 Excel 연습 문제와 솔루션을 지금 받아보세요!