Udostępnij za pośrednictwem


Omówienie relacji wiele-do-wielu w programie Power BI Desktop

Ten artykuł dotyczy programu Power BI Desktop, a nie usługi Power BI. Jeśli używasz usługi Power BI, relacje wiele-do-wielu nie są obecnie obsługiwane w ten sam sposób.

Relacje wiele-do-wielu występują, gdy wartość w jednej tabeli może odnosić się do wielu wartości w innej — i odwrotnie. Jest to typowe w scenariuszach, takich jak klienci z wieloma kontami lub uczniowie zarejestrowani w wielu kursach.

Dlaczego Relacje Wiele do Wielu Mają Znaczenie

W tradycyjnych relacjach jeden do wielu każda wartość w jednej tabeli jest zgodna tylko z jedną wartością w innej. Jednak rzeczywiste dane często łamie tę regułę. Program Power BI Desktop obsługuje relacje wiele-do-wielu, aby ułatwić dokładne modelowanie tych scenariuszy.

Jak modelować relacje wiele-do-wielu

Aby utworzyć relację wiele-do-wielu, zazwyczaj potrzebna jest tabela łącząca. Ta tabela łączy dwie główne tabele, wyświetlając listę wszystkich prawidłowych kombinacji ich kluczy.

Przykład: klienci i konta

Załóżmy, że masz dwie tabele:

  • Tabela klienta: zawiera unikatowe CustomerID wartości
  • Tabela kont: zawiera unikatowe AccountID wartości

Tabela mostkowa (AccountCustomer) zawiera wiersze takie jak te:

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

Ta tabela łącząca umożliwia usłudze Power BI zrozumienie, którzy klienci należą do których kont — nawet w przypadku nakładania się.

Tworzenie relacji

Po skonfigurowaniu tabel , w tym tabeli pomostowej, należy zdefiniować relacje między nimi, aby usługa Power BI mogła zrozumieć, jak dane się łączą. Ten krok jest niezbędny do umożliwienia dokładnego filtrowania i analizy w modelu. Można to zrobić w widoku Zarządzanie relacjami programu Power BI Desktop, w którym można łączyć pola i kontrolować przepływ filtrów między tabelami.

  1. Utwórz relacje jeden do wielu:
    • Z CustomerID w tabeli Customer do CustomerID w tabeli AccountCustomer.
    • Z AccountID tabeli Account do AccountID w tabeli AccountCustomer.
  2. Ukryj tabelę mostkową z widoku raportu, jeśli jest to konieczne. Służy do modelowania, a nie raportowania.

Korzystanie z modelu

Po zdefiniowaniu relacji usługa Power BI używa ich do automatycznego łączenia i filtrowania danych między tabelami. Dzięki temu można tworzyć wizualizacje odzwierciedlające rzeczywiste interakcje — takie jak sposób, w jaki klienci są połączeni z kontami lub jak transakcje odnoszą się do obu tych operacji.

Model obsługuje logikę za kulisami, więc nie trzeba pisać złożonego kodu DAX ani ręcznie łączyć tabel. Zamiast tego możesz skoncentrować się na tworzeniu raportów, które dynamicznie reagują na filtry i fragmentatory.

Po ustawieniu relacji:

  • Konta można filtrować według klientów i klientów według konta.
  • Możesz dodać tabelę faktów (na przykład Transactions), która łączy się z AccountID i analizuje aktywność wśród klientów, kont oraz w czasie.

Porady dla początkujących

  • Zawsze używaj unikatowych identyfikatorów w tabelach.
  • Użyj tabel mostkujących, aby rozwiązać problemy z relacjami wiele-do-wielu.
  • Unikaj relacji cyklicznych — usługa Power BI wyświetli ostrzeżenie, jeśli wystąpią.
  • Ta funkcja jest dostępna tylko w programie Power BI Desktop.