다음을 통해 공유


Power BI Desktop에서 다 대 다 관계 이해하기

이 문서는 Power BI 서비스가 아닌 Power BI Desktop에 적용됩니다. Power BI 서비스를 사용하는 경우 다대다 관계는 현재 같은 방식으로 지원되지 않습니다.

다 대 다 관계는 한 테이블의 값이 다른 테이블의 여러 값과 관련되어 있을 때 발생하며 그 반대의 경우도 마찬가지입니다. 이는 여러 계정이 있는 고객 또는 여러 과정에 등록된 학생과 같은 시나리오에서 일반적입니다.

다대다 관계가 중요한 이유

기존의 일 대 다 관계에서 한 테이블의 각 값은 다른 테이블의 값 하나만 일치합니다. 그러나 실제 데이터는 종종 이 규칙을 깨뜨립니다. Power BI Desktop은 이러한 시나리오를 정확하게 모델링하는 데 도움이 되는 다대다 관계를 지원합니다.

다 대 다 관계를 모델링하는 방법

다대다 관계를 만들려면 일반적으로 브리징 테이블이 필요합니다. 이 표에서는 유효한 키 조합을 모두 나열하여 두 개의 기본 테이블을 연결합니다.

예: 고객 및 계정

다음 두 개의 테이블이 있다고 가정해 보겠습니다.

  • 고객 테이블: 고유 CustomerID 값 포함
  • 계정 테이블: 고유 AccountID 값 포함

브리징 테이블(AccountCustomer)에는 다음과 같은 행이 포함됩니다.

  • CustomerID = 91, AccountID = 1
  • CustomerID = 92, AccountID = 1
  • CustomerID = 92, AccountID = 2

이 브리징 테이블을 사용하면 Power BI가 겹치는 경우에도 어떤 고객이 어떤 계정에 속하는지 이해할 수 있습니다.

관계 만들기

브리징 테이블을 포함하여 테이블을 설정한 후에는 Power BI가 데이터 연결 방법을 이해할 수 있도록 테이블 간의 관계를 정의해야 합니다. 이 단계는 모델 전체에서 정확한 필터링 및 분석을 사용하도록 설정하는 데 필수적입니다. 이 작업은 필드를 연결하고 필터가 테이블 간에 흐르는 방식을 제어할 수 있는 Power BI Desktop의 관계 관리 보기에서 수행합니다.

  1. 일대다 관계 만들기:
    • CustomerID Customer 테이블에서 CustomerIDAccountCustomer 테이블로.
    • AccountID Account 테이블에서 AccountIDAccountCustomer 테이블로.
  2. 필요한 경우 보고서 보기에서 브리징 테이블을 숨깁니다. 보고가 아닌 모델링에 사용됩니다.

모델 사용

관계를 정의한 후 Power BI는 관계를 사용하여 테이블 간에 데이터를 자동으로 연결하고 필터링합니다. 이를 통해 고객이 계정에 연결되는 방법 또는 트랜잭션이 둘 다와 어떻게 관련되는지와 같은 실제 상호 작용을 반영하는 시각적 개체를 빌드할 수 있습니다.

모델은 백그라운드에서 논리를 처리하므로 복잡한 DAX를 작성하거나 테이블을 수동으로 조인할 필요가 없습니다. 대신 필터 및 슬라이서에 동적으로 응답하는 보고서를 빌드하는 데 집중할 수 있습니다.

관계가 설정되면 다음을 수행합니다.

  • 계정별로 고객 및 고객별로 계정을 필터링할 수 있습니다.
  • 팩트 테이블(예: Transactions)을 추가하여 AccountID에 연결하고 고객, 계정 및 시간 전반의 활동을 분석할 수 있습니다.

초보자를 위한 팁

  • 항상 테이블에서 고유한 ID를 사용합니다.
  • 브리징 테이블을 사용하여 다 대 다 관계를 해결합니다.
  • 순환 관계를 사용하지 마세요. Power BI에서 이러한 관계가 발생하면 경고합니다.
  • 이 기능은 Power BI Desktop에서만 사용할 수 있습니다.