Power BI에서 데이터 모델링 이해하기: Joins, Relationships 및 Schemas 설명

발행: (2026년 4월 29일 AM 01:26 GMT+9)
12 분 소요
원문: Dev.to

Source: Dev.to

*이전 기사 **“How Excel Is Used in Real‑World Data Analysis,”*에 이어 이제 Power BI를 탐구하고 있습니다. 지난 2주는 눈을 뜨게 하는 경험이었으며, Excel이 여전히 중요하지만 다른 도구들도 동일한 작업을 (종종 더 잘) 수행할 수 있다는 것을 알게 되었습니다. 아래는 지금까지 배운 개념들로, 여러분의 학습 여정에 도움이 될 수 있습니다.

📊 데이터 모델이란?

  • 데이터 모델 – 데이터가 데이터베이스에 어떻게 조직되고 저장될지를 시각적으로 나타낸 것. 각 테이블에 어떤 데이터가 존재하고 테이블 간에 어떻게 관계가 맺어지는지를 보여주는 지도와 같습니다.
  • 데이터 모델링 – 그 “지도”를 만드는 과정: 데이터 소스를 연결하고, 관계를 정의하며, 분석을 지원할 수 있는 구조로 모든 것을 배열하는 작업.

예시 데이터셋을 사용해 이 개념을 설명하겠습니다. 이 데이터셋은 Excel의 별도 워크시트에 있는 네 개의 테이블(고객, 제품, 매장, 판매)로 구성됩니다.

📁 샘플 데이터셋 (Excel 보기)

워크북의 스크린샷이 여기 들어가며, 네 개의 워크시트를 보여줍니다.

데이터셋은 이미 정리되어 있지만, 먼저 정리해야 한다면 모델을 구축하기 전에 Power BI의 Transform Data (Power Query)를 사용하세요.

🛠️ Power BI에서 데이터를 다루는 세 가지 방법

보기접근 방법기능
테이블 보기빈 보고서를 열고 → Get Data → Excel 워크북 선택원시 테이블을 Power BI에 로드합니다.
모델 보기Model 아이콘을 클릭합니다 (스크린샷에 강조 표시됨)테이블 간 관계를 만들고 관리하는 시각적 캔버스입니다.
리포트 보기Report 아이콘을 클릭합니다 (Table‑View 아이콘 위에 위치함)시각화를 만들 수 있으며, 여기서도 관계를 관리할 수 있습니다.

팁: 세 가지 보기 모두 리본 또는 왼쪽 탐색 창에서 접근할 수 있습니다.

🔗 관계 관리

  1. 데이터를 로드한 후 Model View 로 이동합니다 (또는 어느 보기에서든 Manage Relationships 를 사용합니다).
  2. Manage Relationships 를 클릭 → 초록색 + New Relationship 버튼이 있는 팝업이 나타납니다.
  3. 대화 상자에서 연결하려는 두 테이블을 선택하고 공유 열을 선택합니다 (예: SalesCustomers 사이의 CustomerID).
  4. 다른 테이블 쌍에 대해서도 반복합니다.

그 결과는 대략 다음과 같은 Data Model 입니다:

Sales가 중앙에 위치하고 Customers, Products, Stores와 연결된 모델 다이어그램을 삽입하세요.

🔀 Joins vs. Relationships

ConceptWhat It Does
Join두 테이블의 행을 하나의 테이블로 결합합니다 (Power Query에서 Merge Queries를 통해 수행).
Relationship테이블을 별도로 유지하면서 연결 방식을 정의합니다; Power BI는 이러한 연결을 사용해 데이터를 자동으로 필터링하고 집계합니다.

🔧 Power BI의 조인 유형 (Power Query → Merge Queries)

조인 유형설명
Left Outer Join왼쪽 테이블의 모든 행을 유지하고 오른쪽 테이블과 일치하는 행을 매칭합니다. 일치하지 않는 행은 null을 반환합니다.
Right Outer Join오른쪽 테이블의 모든 행을 유지하고 왼쪽 테이블과 일치하는 행을 매핑합니다. 일치하지 않는 행은 null을 반환합니다.
Full Outer Join양쪽 테이블의 모든 행을 유지합니다; 일치하지 않는 행은 null을 반환합니다.
Inner Join양쪽 테이블 모두에서 매치되는 행만 반환합니다 (행 수가 감소합니다).
Left Anti Join오른쪽 테이블에 매치되는 행이 없는 왼쪽 테이블의 행을 반환합니다.
Right Anti Join왼쪽 테이블에 매치되는 행이 없는 오른쪽 테이블의 행을 반환합니다.

Merge Queries 대화 상자 하단에서는 매치된 행 수를 표시합니다 – 빠른 정상 여부 확인에 유용합니다.

🔗 Power BI의 관계 유형

  1. One‑to‑Many (1:M) – 기본 테이블의 한 행이 보조 테이블의 여러 행과 연결됩니다.
    예시: Sales → Customers, Sales → Products, Sales → Stores. 가장 일반적인 관계이며 원활한 집계를 가능하게 합니다.

  2. Many‑to‑Many (M:M) – 한 테이블의 여러 행이 다른 테이블의 여러 행과 연결됩니다.
    주의: 계산 오류를 일으킬 수 있으니 가능한 피하십시오.

  3. One‑to‑One (1:1) – 테이블의 한 행이 다른 테이블의 정확히 한 행과 연결됩니다. 드물지만 큰 테이블을 논리적 파트로 나누는 데 유용합니다.

  4. Active vs. Inactive – 동일한 두 테이블 사이에 여러 관계를 정의할 수 있습니다. Power BI는 기본적으로 active 관계를 사용합니다. 비활성 관계를 사용하려면 명시적으로 참조해야 합니다(예: USERELATIONSHIP).

Cardinality & Cross‑Filter Direction

속성설명
Cardinality관계 유형(1:M, M:M, 1:1)을 설명합니다.
Cross‑filter direction연관된 테이블 간에 필터가 어떻게 흐르는지를 결정합니다.
Single direction필터가 “one” 측에서 “many” 측(또는 정의된 대로)으로만 흐릅니다.
Bidirectional필터가 양쪽으로 흐르며 특정 계산에 유용하지만 성능에 영향을 줄 수 있습니다.

⭐ Star Schema

Star Schema는 중앙의 fact 테이블(예: Sales)이 여러 dimension(lookup) 테이블(예: Customers, Products, Stores)로 둘러싸인 데이터 모델 설계입니다.

  • Fact table은 거래 데이터(판매 금액, 수량, 날짜)를 저장합니다.
  • Dimension tables은 설명 속성(고객 이름, 제품 카테고리, 매장 위치)을 저장합니다.

우리 모델은 이 패턴을 따릅니다: Sales는 fact 테이블이며, 세 개의 dimension 테이블과 연결됩니다.

🚀 Takeaways

  • Data Modeling은 Power BI에서 견고한 분석의 기반입니다.
  • Relationships는 테이블을 분리된 상태로 유지하면서 강력하고 자동적인 필터링을 가능하게 합니다.
  • Joins는 추가 변환을 위해 단일 결합 테이블이 필요할 때 유용합니다.
  • cardinality, cross‑filter direction, 그리고 active vs. inactive 관계를 이해하면 성능과 정확성을 미세 조정할 수 있습니다.
  • Star Schema를 설계하면 보고서를 단순화하고 쿼리 속도를 향상시킵니다.

샘플 데이터셋을 자유롭게 실험하고, 다양한 조인 유형을 시도하며, 관계 설정을 조정해 보세요. 연습할수록 Power BI가 더욱 직관적으로 느껴집니다!

분석을 즐기세요!

데이터 모델링 개요

  • Lookup 테이블 – customers, products, stores
  • 중심 (Fact) 테이블 – 수량 판매, 가격, 재고 수준 등과 같은 측정 가능한(정량적) 데이터를 저장합니다.

Lookup 테이블은 차원 테이블이라고도 하며, 사실(Fact) 데이터에 대한 컨텍스트를 제공합니다. 여기에는 이름, 도시, 카테고리, 이메일 주소 등과 같은 서술적(정성적) 정보가 포함됩니다.

스노우플레이크 스키마

스노우플레이크 스키마는 차원 테이블을 추가적인 하위 차원 테이블로 정규화한 스타 스키마의 변형입니다. 실제로는 스타 스키마의 차원 테이블을 확장하여 이러한 추가 레이어를 만듭니다.

플랫 테이블 (DLAT)

플랫 테이블(또는 DLAT – Data Lake Access Table)은 사실 테이블과 차원 테이블에 보통 나뉘어 저장되는 모든 데이터를 하나의 테이블에 결합합니다.
예시: 모든 비즈니스 정보를 담고 자체 데이터베이스 역할을 하는 단일 Excel 워크시트.

기억해야 할 핵심 포인트

  • 데이터를 먼저 정리하세요 – 모델을 만들기 전에 Power Query(또는 기타 ETL 도구)를 사용합니다.
  • 스타 스키마를 선호하세요 – 관계를 이해하기 쉽게 만들고 다대다 조인을 피하는 데 도움이 되며, 이는 계산을 복잡하게 하고 오류를 초래할 수 있습니다.
0 조회
Back to Blog

관련 글

더 보기 »