Power BI KPI 대시보드와 DAX·NLQ로 BI 의미 계층 설계하기
KPI 대시보드, Power BI DAX, 자연어 질의를 연결해 의미 계층과 데이터 거버넌스를 갖춘 BI 의사결정 체계를 설계하는 방법
2026-08-14 · 최초 발행 2025-10-14
지표가 같은 숫자를 가리키게 만드는 BI 체계
KPI 대시보드는 핵심성과지표를 계층으로 묶어 상태, 추세, 목표 대비를 한 화면에서 보여주는 시각화 체계다. 목표치와 임계값, 전년동기나 이동평균 같은 경향성을 함께 놓으면 실행 우선순위를 판단하는 데 도움이 된다.
대시보드만 배포해서는 지표의 일관성이 생기지 않는다. 지표 정의서, 데이터 라인리지, 승인 워크플로를 데이터 거버넌스에 연결해야 동일한 KPI를 서로 다른 방식으로 해석하는 문제를 줄일 수 있다.
Power BI의 DAX(Data Analysis Expressions)는 Analysis Services와 Power BI에서 계산을 정의하는 언어다. 열, 측정값, 테이블 단위 함수와 필터 컨텍스트를 이용해 집계, 시간 지능, 세그먼트 분석을 구현한다. 반정형 비즈니스 규칙을 재현 가능한 코드로 표현할 수 있어 재사용과 테스트 자동화에도 적합하다.
NLQ(Natural Language Query)는 사용자가 자연어로 질문하면 차트나 수치로 답하는 질의 계층이다. Power BI Q&A나 Copilot과 연계할 때 필드 동의어, 질문 문구 패턴, 메저 매핑을 관리하면 해석 정확도를 높일 수 있다. 비분석 사용자도 데이터를 탐색할 수 있지만, 민감 데이터는 RLS와 보안 필터를 함께 적용해야 한다. 일부 생성형 기능은 최신 정보 확인이 필요하다.
의미 계층에서 모델과 지표를 관리하는 방식
사실 테이블과 차원 테이블을 분리한 스타 스키마는 BI 모델의 기반이 된다. 관계는 단방향 필터링을 채택하고, 의미 계층에서 KPI 정의와 비즈니스 용어사전을 관리한다. 시각화마다 계산식을 따로 두기보다 모델 수준의 메저를 중심으로 설계하면 결과의 일관성을 유지할 수 있다.
KPI 정의서에는 정의, 분모와 분자, 목표, 임계값, 소유자를 표준화해 둔다. 변경관리와 승인 절차를 운영하고, 메타데이터 라벨 및 공식·커뮤니티 인증 배지로 데이터셋의 신뢰성을 구분한다.
DAX에서는 CALCULATE, FILTER, ALL, TREATAS, TIME INTELLIGENCE 패턴을 표준화할 수 있다. VAR로 반복 계산을 줄이고 SUMX 사용을 최소화하며, 필요하면 Aggregations 테이블을 둔다. 저장 모드는 Import, DirectQuery, Composite 중에서 고르고 인덱싱, 파티셔닝, 증분 새로 고침과 연계한다.
NLQ 품질은 필드와 테이블 동의어, 불용어 처리, 측정값 우선순위 매핑에 영향을 받는다. 승인된 질문 템플릿과 샘플 질문을 관리하고, 해석 실패 로그를 바탕으로 교육 데이터를 개선하는 루프가 필요하다.
운영 단계에서는 새로 고침 실패 알림, 메저와 시각화 사용량 텔레메트리, 데이터 품질 규칙 검증 파이프라인을 둔다. RLS·OLS, 테넌트 정책, 감사 로그도 함께 운영 대상이 된다.
데이터 적재부터 대시보드와 자연어 질의까지의 흐름
입력 단계에서는 원천 데이터를 수집하고 증분 식별 키를 확보한다. 이후 정제와 적재, 모델링, 메저 정의, 성능 튜닝을 거쳐 KPI 대시보드와 NLQ를 배포하고 거버넌스 리포팅을 제공한다.
품질 규칙을 위반한 데이터는 적재를 차단하고 소유자에게 알린다. 새로 고침이 실패하면 지수적 재시도와 캐시 유지를 적용하며, 쿼리 타임아웃에는 요약 테이블(aggregation)을 대체 경로로 사용한다.
KPI 트리에서 배포 거버넌스까지
전략 목표에서 시작해 상위와 하위 KPI를 잇는 KPI 트리를 만들고, 임계값·목표·주기를 정한다. 이때 접근권한과 데이터 민감도도 함께 분류한다.
데이터 모델은 스타 스키마를 기준으로 설계하고 날짜 테이블을 마킹한다. 관계 방향성을 검토한 뒤, 수요가 높은 집계에는 Aggregations 테이블과 파티션 계획을 세운다.
계산 로직은 원천 합계나 개수 같은 기준 메저에서 시작해 비율, 전년동기, 가중치 등의 파생 메저로 확장하고 KPI 상태 메저를 구현하는 순서가 적합하다. 테스트용 샘플 데이터셋과 유닛 테스트 메저도 준비한다.
저장 모드를 선택하고 증분 새로 고침을 구성한 다음, 응답시간·실패율·사용량을 관측 지표로 계측해 경보를 설정한다. 인증된 데이터셋과 콘텐츠 승인 워크플로를 배포하고, NLQ 동의어 사전과 샘플 질문을 등록한 뒤 교육 세션을 운영한다.
DAX 메저를 재사용 가능한 계산 단위로 두기
전제조건: Power BI Desktop May 2024+, 스타 스키마, ‘Date’ 테이블 날짜 열 마킹, 판매 사실 테이블 ‘Sales’(Amount, Qty, DateKey, CustomerKey 등).
-- 기본 집계
[Sales Amount] =
SUM ( Sales[Amount] )
[Sales Qty] =
SUM ( Sales[Qty] )
-- 시간 지능
[Sales Amount LY] =
CALCULATE ( [Sales Amount], DATEADD ( 'Date'[Date], -1, YEAR ) )
[Sales Amount YoY %] =
VAR curr = [Sales Amount]
VAR prev = [Sales Amount LY]
RETURN
IF ( NOT ISBLANK(prev), DIVIDE ( curr - prev, prev ), BLANK() )
-- 목표 대비
[Sales Target] =
SUM ( Targets[TargetAmount] )
[Sales vs Target %] =
DIVIDE ( [Sales Amount], [Sales Target] )
-- KPI 상태(임계값: 녹색>=100%, 황색 90~100%, 적색<90%)
[Sales KPI Status] =
VAR r = [Sales vs Target %]
RETURN
SWITCH (
TRUE(),
ISBLANK(r), BLANK(),
r >= 1, "Green",
r >= 0.9, "Yellow",
"Red"
)
-- 세그먼트 기반 기여도
[Top Customer Contribution %] =
VAR topNTable =
TOPN ( 10, ALLSELECTED ( Customers[CustomerName] ), [Sales Amount], DESC )
VAR topSales =
CALCULATE ( [Sales Amount], KEEPFILTERS ( topNTable ) )
RETURN
DIVIDE ( topSales, CALCULATE ( [Sales Amount], ALLSELECTED ( Customers[CustomerName] ) ) )
NLQ의 해석 품질을 높이려면 모델 뷰에서 테이블과 열의 동의어를 정의한다. 예를 들어 Amount에는 매출, Revenue, 매출액을 연결할 수 있다. 기본 메저에는 선호 시각화를 설정하고, “지난 분기 지역별 매출 상위 5개”, “올해 신규 고객 수 월별 추이”처럼 샘플 질문을 등록한다.
저장 모드와 운영 조건의 균형
Import는 최고 성능을 제공하지만 메모리 사용이 증가하므로 증분 새로 고침을 권장한다. DirectQuery는 실시간성을 제공하는 대신 쿼리 지연과 소스 부하가 발생할 수 있어 소스 인덱스 최적화가 필요하다. Composite는 요약 데이터를 Import로, 세부 데이터를 DirectQuery로 다루지만 설계 복잡성이 높아진다.
| 항목 | Import | DirectQuery | Composite |
|---|---|---|---|
| 성능 | 매우 높음(초~수초) | 중간~낮음(소스 의존) | 혼합(요약은 높음) |
| 확장성 | 메모리 제약, 증분으로 보완 | 소스 스케일 아웃 의존 | 유연, 설계 복잡성 |
| 일관성 | 새로 고침 주기 기반 | 소스 실시간 일관성 | 영역별 상이 |
| 안정성 | 캐시 기반 안정 | 네트워크/소스 장애 영향 | 경로별 상이 |
| 운영 편의 | 관리 용이, 비용 예측 | 튜닝 난이도 높음 | 운영 복잡, 유연성 높음 |
계산 열을 과도하게 사용하기보다 메저 중심으로 설계하고, VAR로 반복 계산을 줄인다. DISTINCTCOUNT 비용이 큰 컬럼은 사전 집계나 대체 지표를 고려한다.
RLS는 차원 테이블에 적용하며 관계 방향을 점검한다. 민감도 레이블과 데이터 손실 방지(DLP) 정책을 적용하고, 다중 테넌트나 워크스페이스는 분리해 배포 파이프라인으로 관리한다.
NLQ는 질문 로그 분석, 동의어와 메저 매핑 보강, 재학습 루프로 운영한다. 민감 질의를 필터링하고 승인된 질문 템플릿을 제공하며, 생성형 요약·설명 기능은 최신 정보 확인이 필요하다.
KPI별로 달라지는 대시보드와 질의 설계
리테일 매출 성과 대시보드에서는 매출액, 객단가, 전환율, 재고 소진율을 KPI로 둔다. DAX는 시간 지능과 교차판매 기여도에 사용하고, TREATAS로 캠페인을 매핑한다. “이번 분기 카테고리별 객단가 추세”, “프로모션 A의 전환율 영향”이 NLQ 질문 예시가 된다.
구독형 SaaS에서는 MRR, Churn, Net Retention, 활성 사용자를 관리한다. Cohort 유지율과 Rolling 7/28일 활성을 DAX로 계산하고, “지난달 순증 MRR의 상위 기여 지역”, “고객 등급별 이탈률”을 자연어 질문으로 제공할 수 있다.
제조 현장에서는 OEE, 불량률, 다운타임, MTBF가 주요 지표다. 이벤트 팩트에서 누적 다운타임을 합산하고 이동평균을 계산하며, “라인 3의 주간 OEE 추세”, “불량 상위 5개 원인”처럼 질문을 구성한다.
재무 결산에서는 매출총이익률, 영업이익률, DSO/DPO를 다룬다. 계정과목 계층 Roll-up과 환율 적용 시뮬레이션을 DAX에 담고, “분기별 지역별 매출총이익률 비교”, “DSO 악화 구간”을 질의 예시로 사용할 수 있다.
표준 메저와 집계 전략이 만드는 운영 효과
중복 질의를 제거하고 표준 메저를 재사용한다는 가정에서 의사결정 리드타임은 3060% 단축될 수 있다. 공식 데이터셋과 배포 파이프라인을 기준으로 보고서 유지보수 시간은 40% 절감할 수 있으며, 집계 테이블과 증분 새로 고침 적용 시 쿼리 비용은 2050% 절감할 수 있다.
이 체계는 지표 정의의 단일 진실 공급원(Single Source of Truth)을 확보하고, NLQ를 통해 비분석 인력의 데이터 자가 탐색 능력을 높인다. 데이터 신뢰도와 협업 효율도 함께 개선할 수 있다.