관계 및 기수와 함께 작업
다른 데이터베이스 관리 시스템과는 달리, Power BI 관계에 방향성 이라는 개념이 있습니다. 이러한 방향성은 여러 테이블 간의 데이터를 필터링하는 데 중요한 역할을 합니다. 데이터를 로드할 때 Power BI 열 이름과 일치하는 데이터를 찾아 자동으로 데이터 내에 존재하는 관계를 찾습니다. 관계 관리 를 사용하여 이러한 옵션을 수동으로 편집할 수도 있습니다.
예를 들어, Sales 데이터베이스에서 많은 테이블을 검색했고, 다음 이미지는 의미 모델의 예입니다. Power BI 여러 관계를 자동으로 감지했지만, 그 의미를 알 수 없습니다. 데이터에 존재하는 관계를 정확하게 반영하는지 확인해야 합니다.
관계
다음은 여러분이 찾을 수 있는 다양한 유형의 관계입니다 Power BI.
다대일 (*:1)
또는 일대다 (1: *)
관계
한 열에 있는 값의 인스턴스가 여러 개 있고, 이 값들이 다른 열에 있는 하나의 고유한 해당 인스턴스와만 관련된 관계를 설명합니다.
사실 테이블과 차원 테이블 간의 방향성을 설명합니다.
가장 일반적인 방향성 유형이며 관계를 자동으로 생성할 때의 기본값입니다. Power BI
일대다 관계의 예로는 CountryName과 Territory 테이블 간의 관계가 있는데, 여기서는 하나의 고유한 국가에 연관된 여러 지역이 있을 수 있습니다.
일대일(1:1) 관계:
두 테이블 사이에서 하나의 값 인스턴스만 공통되는 관계를 설명합니다.
두 테이블 모두에 고유한 값이 필요합니다.
이 관계는 중복된 정보를 저장하고 모델이 올바르게 설계되지 않았음을 나타내므로 권장되지 않습니다. 표를 결합하는 것이 더 나은 방법입니다.
일대일 관계의 예로는 두 개의 서로 다른 테이블에 제품과 제품 ID가 있는 경우가 있습니다. 일대일 관계를 만드는 것은 중복되며, 이 두 테이블은 결합되어야 합니다.
다대다(.) 관계:
두 테이블 간에 많은 값이 공통적으로 존재하는 관계를 설명합니다.
관계의 두 테이블 모두에 고유한 값이 필요하지 않습니다.
권장하지 않습니다. 고유한 값이 없으면 모호성이 발생하고 사용자가 값의 어느 열이 무엇을 참조하는지 알지 못할 수 있습니다.
예를 들어, 다음 그림은 OrderDate 열을 기준으로 Sales 테이블과 Order 테이블 간의 다대다 관계를 보여줍니다. 그 이유는 여러 판매에 여러 주문이 연관될 수 있기 때문입니다. 두 테이블 모두 동일한 주문 날짜를 가질 수 있기 때문에 모호성이 발생합니다.
교차 필터 방향
데이터는 관계의 한 쪽 또는 양쪽에서 필터링될 수 있습니다.
단일 교차 필터 방향:
관계에서 하나의 테이블만 데이터를 필터링하는 데 사용할 수 있습니다. 예를 들어, 표 1은 표 2로 필터링할 수 있지만, 표 2는 표 1로 필터링할 수 없습니다.
팁
따라와 테이블 간 관계에 대한 화살표의 방향을 확인하여 필터가 어느 방향으로 흐를지 알아보세요. 일반적으로 이러한 화살표는 팩트 테이블에 가리키다로 표시됩니다.
일대다 또는 다대일 관계의 경우 교차 필터 방향은 "일" 쪽에서 시작되는데, 이는 많은 값이 있는 테이블에서 필터링이 수행된다는 것을 의미합니다.
양방향 교차 필터 방향 또는 양방향 교차 필터링을 사용하는 경우:
관계에 있는 한 테이블을 사용하여 다른 테이블을 필터링할 수 있습니다. 예를 들어, 차원 테이블은 사실 테이블을 통해 필터링할 수 있으며, 사실 테이블은 차원 테이블을 통해 필터링할 수 있습니다.
다대다 관계에 양방향 교차 필터링을 사용하면 성능이 낮아질 수 있습니다.
양방향 교차 필터링에 대한 주의 사항: 양방향 교차 필터링 관계를 활성화하려면 그렇게 할 경우의 결과를 완전히 이해해야 합니다. 이를 활성화하면 모호성, 과도한 샘플링, 예상치 못한 결과 및 잠재적인 성능 저하가 발생할 수 있습니다.
기수 및 교차 필터 방향
일대일 관계의 경우 사용 가능한 유일한 옵션은 양방향 교차 필터링입니다. 이 관계의 양쪽에서 데이터를 필터링하여 하나의 뚜렷하고 모호하지 않은 값을 얻을 수 있습니다. 예를 들어, 하나의 제품 ID로 필터링하면 단일 제품이 반환될 수 있고, 하나의 제품으로 필터링하면 단일 제품 ID가 반환될 수 있습니다.
다대다 관계의 경우 양방향 교차 필터링을 사용하여 단방향 또는 양방향으로 필터링할 수 있습니다. 양방향 교차 필터링과 관련된 모호성은 다대다 관계에서 더욱 증폭되는데, 그 이유는 서로 다른 테이블 간에 여러 경로가 존재하기 때문입니다. 측정, 계산 또는 필터를 생성하는 경우 데이터가 필터링되는 위치에 예상치 못한 결과가 발생할 수 있으며, 필터링하는 관계에 따라 다릅니다. Power BI 필터를 적용할 때 엔진이 선택하는 값에 따라 최종 결과가 다를 수 있습니다. 이런 상황은 양방향 관계에도 해당되며, 이를 사용할 때는 주의해야 합니다.
이러한 이유로 다대다 관계 및/또는 양방향 관계는 복잡합니다. 집계 시 데이터가 어떤 모습인지 확실히 알지 못하면 여러 필터링 방향이 있는 이러한 유형의 개방형 관계로 인해 데이터 경로가 여러 개 생길 수 있습니다.
다대다 관계 생성
고객 및 계정의 예산을 검토하는 시각적 자료를 구축하는 작업을 맡은 상황을 생각해 보세요. 동일한 계정에 여러 고객이 있을 수 있으며, 동일한 고객이 여러 계정에 있을 수 있으므로 다대다 관계를 만들어야 한다는 사실을 알고 계실 겁니다.
이 관계를 만들려면 다음으로 이동하세요. 관계 관리> 새로운. 결과 창에서 다음 사이의 관계를 만듭니다. 고객 ID CustomerTable과 AccountTable의 열. 관계는 다대다로 설정되고 필터 유형은 양방향입니다. 즉시, 두 열 모두 고유한 값을 갖지 않을 것으로 예상되는 경우에만 이러한 유형의 관계를 사용해야 한다는 경고가 표시됩니다. 예상치 못한 값이 발생할 수 있기 때문입니다. 양방향으로 필터링하고 싶으시다면 선택하세요 양방향 교차 필터링.
확인을 선택합니다. 이제 다대다 관계가 성공적으로 생성되었습니다.
자세한 내용은 다음을 참조하세요. 다대다 관계 Power BI.