◆ 데이터 모델링의 핵심은 데이터를 의미 있고 유용한 정보로 변환하는 데 있습니다.
DAX(Data Analysis Expressions)는 이 과정에서 중요한 역할을 합니다. DAX는 Power BI, Excel Power Pivot, SSAS Tabular 모델 등에서 사용되는 함수 언어로, 데이터 모델링 및 분석을 위한 강력한 도구를 제공합니다. 이번 포스트에서는 DAX의 주요 함수들을 살펴보겠습니다. 각 함수의 정의, 사용법, 그리고 실무에서의 활용법을 자세히 알아보겠습니다.
SUM
◆ 정의: SUM 함수는 지정된 열의 모든 숫자 값을 더하여 합계를 반환합니다.
◆ 사용법
SUM(<column>)
- <column>: 합계를 구할 열을 지정합니다.
◆ 활용법: 매출 데이터를 분석할 때, 특정 기간 동안의 총 매출을 구할 수 있습니다. 예를 들어, "Sales" 테이블의 "Revenue" 열의 합계를 구할 수 있습니다.
Total Revenue = SUM(Sales[Revenue])
SUMMARIZE
◆ 정의: SUMMARIZE 함수는 테이블을 요약하여 그룹별로 데이터를 집계할 때 사용됩니다.
◆ 사용법:
SUMMARIZE(<table>, <groupBy_column1>, <groupBy_column2>, ..., [<name>], <expression>, ...)
- <table>: 데이터를 요약할 테이블입니다.
- <groupBy_column1>, <groupBy_column2>: 그룹화할 열을 지정합니다.
- [<name>], <expression>: 계산할 값의 이름과 표현식입니다.
◆ 활용법: 예를 들어, 각 제품의 총 매출을 계산할 수 있습니다.
Product Revenue = SUMMARIZE(Sales, Sales[ProductID], "Total Revenue", SUM(Sales[Revenue]))
DISTINCTCOUNT
◆ 정의: DISTINCTCOUNT 함수는 지정된 열에서 고유한 값의 수를 반환합니다.
◆ 사용법:
DISTINCTCOUNT(<column>)
- <column>: 고유한 값을 계산할 열입니다.
◆ 활용법: 고객 수를 세는 데 유용합니다. 예를 들어, 주문 테이블에서 고유한 고객 수를 계산할 수 있습니다.
Unique Customers = DISTINCTCOUNT(Orders[CustomerID])
ALL
◆ 정의: ALL 함수는 필터를 무시하고 전체 테이블이나 열을 반환합니다.
◆ 사용법:
ALL(<table>|<column>)
- <table>: 전체 테이블을 반환합니다.
- <column>: 특정 열의 모든 값을 반환합니다.
◆ 활용법: 비교를 위해 특정 열이나 테이블에 적용된 필터를 제거하고자 할 때 사용됩니다.
All Products = CALCULATE([Total Revenue], ALL(Products))
CALCULATE
◆ 정의: CALCULATE 함수는 특정 필터 컨텍스트에서 식을 계산할 때 사용됩니다.
◆ 사용법:
CALCULATE(<expression>, <filter1>, <filter2>, ...)
- <expression>: 계산할 식입니다.
- <filter1>, <filter2>: 필터로 사용할 조건들입니다.
◆ 활용법: 특정 지역의 매출을 계산하는 경우 사용됩니다.
Revenue in USA = CALCULATE([Total Revenue], Sales[Country] = "USA")
FILTER
◆ 정의: FILTER 함수는 테이블에서 특정 조건을 만족하는 행을 반환합니다.
◆ 사용법:
FILTER(<table>, <filter_expression>)
- <table>: 필터링할 테이블입니다.
- <filter_expression>: 조건을 지정하는 식입니다.
◆ 활용법: 매출이 1000 이상인 주문만을 필터링할 때 사용됩니다.
High Revenue Orders = FILTER(Sales, Sales[Revenue] >= 1000)
DIVIDE
◆ 정의: DIVIDE 함수는 두 숫자를 나누고, 0으로 나누는 경우에는 대체 값을 반환합니다.
◆ 사용법:
DIVIDE(<numerator>, <denominator>, [<alternate_result>])
- <numerator>: 분자입니다.
- <denominator>: 분모입니다.
- [<alternate_result>]: 선택적으로, 0으로 나눌 때 반환할 값입니다.
◆ 활용법: 안전하게 비율을 계산할 때 사용됩니다. 예를 들어, 이익률을 계산할 때 사용합니다.
Profit Margin = DIVIDE([Total Profit], [Total Revenue], 0)
COUNT
◆ 정의: COUNT 함수는 지정된 열에서 숫자 값이 있는 행의 수를 반환합니다.
◆ 사용법:
COUNT(<column>)
- <column>: 숫자를 세는 열입니다.
◆ 활용법: 주문 테이블에서 총 주문 수를 계산할 때 사용됩니다.
Order Count = COUNT(Orders[OrderID])
SUMX
◆ 정의: SUMX 함수는 테이블의 각 행에 대해 식을 계산하고 그 결과의 합을 반환합니다.
◆ 사용법:
SUMX(<table>, <expression>)
- <table>: 계산할 테이블입니다.
- <expression>: 각 행에 대해 계산할 식입니다.
◆ 활용법: 각 제품의 수량과 단가를 곱한 후, 총 매출을 계산할 때 사용됩니다.
Total Revenue = SUMX(Sales, Sales[Quantity] * Sales[UnitPrice])
RELATED
◆ 정의: RELATED 함수는 현재 테이블에서 관계를 통해 연결된 다른 테이블의 값을 반환합니다.
◆ 사용법:
RELATED(<column>)
- <column>: 반환할 값이 있는 열입니다.
◆ 활용법: 주문 테이블에서 고객의 이름을 가져오고자 할 때 사용됩니다.
Customer Name = RELATED(Customers[Name])
DATEADD
◆ 정의: DATEADD 함수는 날짜 또는 시간 값을 지정된 간격만큼 이동시킨 새 날짜를 반환합니다.
◆ 사용법:
DATEADD(<dates>, <number_of_intervals>, <interval>)
- <dates>: 날짜 열입니다.
- <number_of_intervals>: 이동할 간격입니다.
- <interval>: "DAY", "MONTH", "QUARTER", "YEAR" 중 하나를 지정합니다.
◆ 활용법: 전년도 매출을 비교할 때 사용됩니다.
Previous Year Sales = CALCULATE([Total Revenue], DATEADD(Sales[Date], -1, YEAR))
TOTALYTD
◆ 정의: TOTALYTD 함수는 지정된 날짜를 기준으로 올해의 누적 합계를 계산합니다.
◆ 사용법:
TOTALYTD(<expression>, <dates>, [<filter>], [<year_end_date>])
- <expression>: 누적 합계를 계산할 식입니다.
- <dates>: 날짜 열입니다.
- [<filter>]: 선택적으로 필터를 지정할 수 있습니다.
- [<year_end_date>]: 회계 연도의 마지막 날짜를 지정할 수 있습니다.
◆ 활용법: 올해의 누적 매출을 계산할 때 사용됩니다.
YTD Revenue = TOTALYTD([Total Revenue], Sales[Date])
RANKX
◆ 정의: RANKX 함수는 테이블에서 특정 값의 순위를 반환합니다.
◆ 사용법:
RANKX(<table>, <expression>, [<value>], [<order>], [<ties>])
- <table>: 순위를 매길 테이블입니다.
- <expression>: 순위를 계산할 식입니다.
- [<value>]: 선택적으로 특정 값을 지정할 수 있습니다.
- [<order>]: 순서를 지정합니다. "ASC" 또는 "DESC"를 사용할 수 있습니다.
- [<ties>]: 동일한 값이 있을 때의 처리 방법을 지정합니다.
◆ 활용법: 제품 매출 순위를 매길 때 사용됩니다.
Product Rank = RANKX(ALL(Products), [Total Revenue], , DESC)
이렇게 다양한 DAX 함수를 사용하면 데이터 분석과 보고서 작성에 있어 강력한 인사이트를 도출할 수 있습니다. DAX는 처음에는 복잡하게 느껴질 수 있지만, 각 함수의 역할과 사용법을 이해하면 보다 효율적이고 정교한 데이터 모델링이 가능합니다. 이제 직접 데이터 모델링에 DAX 함수를 적용해 보세요!
'타이탄의 도구 > Power BI' 카테고리의 다른 글
[POWER BI] 경영정보시각화 능력 실기 B형 - 문제1-2 (1) | 2024.09.15 |
---|---|
[POWER BI] 경영정보시각화 능력 실기 B형 - 문제1-1 (0) | 2024.09.15 |
[Power BI] DAX(Data Analysis Expressions)란? (0) | 2024.09.01 |
[POWER BI] (경영정보시각화 능력 실기) 복합요소 구현하기(5) (0) | 2024.09.01 |
[POWER BI] (경영정보시각화 능력 실기) 복합요소 구현하기(4) (0) | 2024.09.01 |