엑셀 DAX 함수 심화 – 시간 인텔리전스(Time Intelligence) 완벽 가이드
엑셀 파워피벗(Power Pivot)과 파워BI(Power BI)에서 제공하는 DAX(Data Analysis Expressions) 함수는 단순 합계나 평균을 넘어, 시간 흐름에 따른 데이터 분석을 가능하게 합니다. 특히 “시간 인텔리전스(Time Intelligence)” 함수들은 전년 대비 매출, 누적 합계, 월별 성장률과 같은 경영 지표를 자동으로 계산할 수 있게 해주며, 실무 보고서와 대시보드에서 필수적인 기능입니다. 이번 글에서는 제가 실제 프로젝트에서 경험한 사례를 바탕으로, DAX 시간 인텔리전스 함수의 개념, 주요 문법, 실무 활용법을 상세히 정리합니다.

1) 시간 인텔리전스 함수란 무엇인가?
시간 인텔리전스 함수는 DAX에서 제공하는 날짜 기반 계산 함수입니다. 이 함수들은 단순히 현재 데이터만 보는 것이 아니라, 과거/현재/미래의 시점을 비교하거나 누적해서 분석할 수 있게 해줍니다. 예: “올해 누적 매출”, “작년 같은 기간 대비 성장률”, “지난 3개월 평균”.
2) 날짜 테이블(Date Table) 필수 조건
시간 인텔리전스를 제대로 활용하려면 날짜 테이블(Date Table)이 반드시 필요합니다. 이는 특정 연·월·일이 모두 포함된 달력 테이블로, 모든 사실(Fact) 테이블과 관계를 맺어야 합니다.
조건:
- 연속된 날짜 범위 포함 (예: 2015-01-01 ~ 2025-12-31)
- 중복 없는 날짜
- 연, 월, 분기, 요일 등 파생 컬럼 포함
=CALENDARAUTO()
위 DAX 함수로 자동 날짜 테이블을 생성할 수 있습니다.
3) 핵심 함수 정리 – TOTALYTD, SAMEPERIODLASTYEAR, DATEADD
시간 인텔리전스 함수 중 가장 자주 쓰이는 것은 다음 세 가지입니다.
- TOTALYTD: 연초부터 현재까지의 누적 합계
- SAMEPERIODLASTYEAR: 전년 같은 기간 반환
- DATEADD: 특정 기간 전후 데이터를 이동
=TOTALYTD(SUM(매출[금액]), '날짜'[일자])
→ 올해 누적 매출
=CALCULATE(SUM(매출[금액]), SAMEPERIODLASTYEAR('날짜'[일자]))
→ 작년 같은 기간 매출
4) 전년 대비 성장률 계산
경영 보고서에서 가장 많이 쓰이는 지표는 YoY (Year over Year) 성장률입니다.
전년매출 = CALCULATE(SUM(매출[금액]), SAMEPERIODLASTYEAR('날짜'[일자]))
성장률 = DIVIDE(SUM(매출[금액]) - [전년매출], [전년매출])
위 공식은 전년 매출 대비 성장률을 계산합니다. 저는 실제 프로젝트에서 이 수식을 활용해 월별 KPI 대시보드를 자동화했고, 경영진이 클릭 몇 번으로 전년 동기 대비 성과를 확인할 수 있었습니다.
5) 누적 합계와 이동 평균
시간 인텔리전스 함수는 단순 성장률뿐 아니라, 누적 합계와 이동 평균에도 많이 활용됩니다.
=TOTALYTD(SUM(매출[금액]), '날짜'[일자])
→ 올해 누적 매출
=AVERAGEX(DATESINPERIOD('날짜'[일자], MAX('날짜'[일자]), -3, MONTH), SUM(매출[금액]))
→ 최근 3개월 이동 평균 매출
이동 평균은 계절성을 제거하고, 장기적인 추세를 파악할 때 특히 유용합니다.
6) 실무 활용 사례
① 매출 분석
전년 대비 성장률, YTD 누적 매출, 최근 3개월 이동 평균을 DAX로 계산해, 영업 부서 대시보드에 반영했습니다.
② 재무 분석
재무제표 데이터를 연결해 분기별, 연도별 손익 추이를 추적했습니다. SAMEPERIODLASTYEAR로 전년 손익과 비교했습니다.
③ 인사 분석
입사/퇴사 데이터를 기반으로, 연도별 인력 증감률과 이직률을 계산했습니다. HR 부서는 이를 통해 연도별 인사 전략을 수립했습니다.
7) 엑셀 함수와의 비교
엑셀 함수로도 전년 대비, 누적 합계를 구할 수 있지만, 행/열이 바뀔 때마다 수식을 수정해야 하는 번거로움이 있습니다. 반면 DAX는 데이터 모델과 날짜 테이블을 기반으로 하므로, 수식 한 번 정의로 전체 보고서에 일괄 적용됩니다. 실무 생산성과 유지보수성 면에서 DAX가 훨씬 유리합니다.
8) 자주 묻는 질문(FAQ)
Q1. 시간 인텔리전스 함수를 쓰려면 반드시 날짜 테이블이 필요한가요?
네. 날짜 테이블이 없으면 DAX 시간 함수가 올바르게 동작하지 않습니다.
Q2. 파워피벗과 파워BI에서 공식이 동일한가요?
거의 동일합니다. 다만 파워BI에서는 시각화와 결합되므로 활용도가 더 높습니다.
Q3. DAX를 배우기 어렵지 않나요?
엑셀 함수와 유사하지만, “컨텍스트(Context)” 개념만 이해하면 금방 적응할 수 있습니다.