Power BI에서 스키마 및 데이터 모델링: 포괄적인 가이드
Source: Dev.to
Introduction
Power BI는 데이터를 분석하는 데 사용되는 강력한 비즈니스 인텔리전스 도구입니다.
데이터 모델링은 데이터를 테이블로 구조화하고, 효율적인 분석을 지원하도록 테이블 간 관계를 정의하는 과정입니다. 스키마는 데이터 모델의 조직 구조—테이블과 그 관계를 배치하는 구체적인 방식을 의미합니다.
데이터 모델링은 분석해야 할 내용을 식별하는 것부터 시작합니다. 일반적인 질문은 다음과 같습니다:
- 무엇을 측정하고 있나요?
- 결과를 어떻게 비교할 것인가?
명확한 목표가 모델 구조를 안내합니다.
Fact Tables
팩트 테이블은 비즈니스 활동에서 측정 가능한 데이터를 저장합니다. 다음 조건을 만족하면 팩트 테이블로 간주됩니다:
- 숫자 값이 포함됨
- 거래 또는 이벤트를 기록함
- 지속적으로 성장함
예시: 판매 거래, 주문, 결제
일반적인 팩트 테이블 열
SalesAccountQuantityOrderIDProductKey
Dimension Tables
디멘션 테이블은 팩트에 의미를 부여합니다. 다음을 설명합니다:
- 누가 행동을 수행했는가
- 무엇이 관련되어 있는가
- 언제 발생했는가
- 어디에서 발생했는가
예시: 고객, 제품, 날짜, 위치
디멘션을 통해 데이터를 필터링하고, 그룹화하며, 요약할 수 있습니다.
Relationships
관계는 디멘션 테이블을 팩트 테이블에 연결하며, 일반적으로 일대다 형태입니다:
- 디멘션 테이블이 “일” 쪽에 위치
- 팩트 테이블이 “다” 쪽에 위치
필터 흐름은 디멘션에서 팩트로 이동하며, 단방향 필터링이 선호됩니다. 올바른 관계 설정은 정확한 결과를 보장합니다.
Schema Designs
Star Schema
스타 스키마는 중앙에 팩트 테이블을 두고 여러 디멘션 테이블을 직접 연결하여 별 모양을 형성합니다.
장점
- 이해하기 쉬움
- 쿼리 성능이 빠름
- DAX 계산이 단순화됨
- 관계의 모호성이 감소함
고려사항
- 저장 공간을 더 많이 사용함
- 디멘션 테이블에 일부 데이터 중복이 발생함
전형적인 레이아웃
FactSalesDimCustomerDimProductDimDateDimRegion
각 디멘션이 팩트 테이블에 직접 연결됩니다. Microsoft는 Power BI에 이 디자인을 권장합니다.
Snowflake Schema
스노우플레이크 스키마는 디멘션 테이블을 여러 관련 테이블로 정규화하여 보다 복잡한 구조를 만듭니다.
장점
- 데이터 중복 감소
- 저장 공간 절감
- 매우 큰 디멘션 테이블에 적합
- 데이터 정규화가 향상됨
단점
- 많은 조인으로 복잡도가 증가함
- 추가 조인으로 성능이 저하될 수 있음
- DAX 작성 및 유지 관리가 어려워짐
- 사용자가 이해하기 어려움
이러한 단점 때문에 스노우플레이크 스키마는 대부분의 Power BI 보고서에 이상적이지 않은 경우가 많습니다.
Conclusion
데이터 모델링은 효과적인 Power BI 보고의 기반입니다. 스키마, 팩트 및 디멘션 테이블, 관계를 이해하면 분석가가 빠르고 정확하며 유지 관리가 쉬운 모델을 구축할 수 있습니다.