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

Power BI에서 데이터 모델링 시 Join과 Relationship의 차이를 이해하고 Star Schema를 적용하여 중복 없이 정확한 분석 구조 구축

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

Tom Chege2026년 3월 29일7intermediate

Context

원본 데이터는 중복, 불일치, 의미 있는 인사이트 추출의 어려움을 포함한다. 데이터를 Join으로만 처리하면 물리적으로 테이블이 병합되면서 학생 정보가 시험 점수 개수만큼 반복되는 데이터 중복 문제가 발생한다. 또한 StudentID 105처럼 한쪽 테이블에만 존재하는 데이터는 참조 무결성 문제를 야기하며, Join 방식에 따라 어떤 레코드를 포함할지 결정하는 복잡성이 증가한다.

Technical Solution

  • Join과 Relationship 구분 적용: Power Query에서는 데이터 정제와 필요한 Join만 수행하고, Model View에서 Relationship으로 테이블 간 논리적 연결을 정의하여 데이터 중복 제거
  • Star Schema 설계 도입: Fact Table(Test Scores)과 Dimension Table(Students, Teachers)을 분리하여 측정 데이터와 설명 데이터를 명확히 구조화
  • Cardinality와 필터 방향 설정: Dimension 테이블에서 Fact 테이블로 향하는 1:M 관계를 기본으로 하고, 단방향 필터링을 기본값으로 지정하여 쿼리 성능 최적화
  • 데이터 무결성 검증 프로세스: LEFT JOIN, RIGHT JOIN, ANTI JOIN 등으로 참조되지 않는 레코드(StudentID 105 같은 고아 데이터)와 점수가 없는 학생(Catherine, David)을 식별하여 데이터 품질 확보
  • 워크플로우 표준화: 데이터 로드 → Power Query에서 정제 및 제한된 Join → Model View에서 Relationship 정의 → 시각화로 검증하는 단계별 프로세스 확립

Key Takeaway

Power BI에서 Join은 데이터 준비 단계의 변환 도구이고 Relationship은 분석 모델의 논리적 구조라는 구분이 핵심이다. Star Schema와 함께 이 두 개념을 올바르게 적용하면 데이터 중복 없이 메모리 효율적이면서도 DAX를 통한 정확한 필터링과 집계를 수행할 수 있다.


Power BI를 사용하는 분석가나 엔지니어는 Dimension-to-Fact의 1:M Relationship을 기본 구조로 설계하고, 의도하지 않은 데이터 중복을 피하기 위해 Power Query에서의 불필요한 Join을 제거하면 메모리 사용량을 줄이고 DAX 쿼리의 성능을 개선할 수 있다.

원문 읽기