피드로 돌아가기
Understanding Data Modeling in Power BI: Joins, Relationships, and Schemas Explained
Dev.toDev.to
Backend

Power BI에서 데이터 모델링 구조(Star Schema vs Snowflake Schema)와 관계 설정을 올바르게 구성해 중복 계산, 필터 오류, 성능 저하 문제 해결

Understanding Data Modeling in Power BI: Joins, Relationships, and Schemas Explained

MbatiaK2026년 3월 29일4intermediate

Context

Power BI 보고서에서 데이터 모델링이 잘못되면 집계 수치가 중복되거나 필터가 작동하지 않는 문제가 발생한다. 모델 설계 오류는 시각화가 아무리 잘 되어 있어도 인사이트를 무의미하게 만든다.

Technical Solution

  • Power Query에서 Join 종류를 테이블 목적에 맞게 선택: Inner Join(완벽한 매칭만), Left Outer Join(주 테이블 전체 유지), Left Anti Join(불일치 행 탐지)
  • Model View에서 관계 설정 시 Cardinality를 One-to-Many(권장)로 구성해 단방향 필터 흐름 단순화
  • Star Schema 구조로 설계: 중앙의 Fact Table(YieldAmount, ScrapQuantity 등 수치)에서 여러 Dimension Table(Machine, Shift, Date 등 레이블)로 분기
  • Snowflake Schema 사용 시(Machine → PlantLocation 연계) Power BI 성능 저하를 감수하고 구조화 정도를 선택
  • 같은 Date 테이블을 PlannedDate와 ActualDate 역할로 사용할 때 하나만 Active 관계로 설정하고 다른 하나는 DAX의 USERELATIONSHIP 함수로 명시적 호출

Key Takeaway

Data Modeling은 보고서 성능과 정확도를 좌우하는 기초 설계다. Star Schema를 기본으로 삼고 Cardinality, 관계 방향, Active/Inactive 경로를 명확히 구성하면 데이터 중복과 필터 오류를 원천 차단할 수 있다.


Power BI 보고서 구축 시 One-to-Many 관계 기반의 Star Schema로 모델을 설계하고, Power Query에서 Left Outer Join으로 원본 데이터 손실을 방지하며, 다중 날짜 필드는 USERELATIONSHIP 함수로 명시적으로 제어하면 수치 중복과 필터 오류를 예방할 수 있다.

원문 읽기