Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
CustomerIDwartości -
Tabela kont: zawiera unikatowe
AccountIDwartoś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.
- Utwórz relacje jeden do wielu:
- Z
CustomerIDw tabeli Customer doCustomerIDw tabeli AccountCustomer. - Z
AccountIDtabeli Account doAccountIDw tabeli AccountCustomer.
- Z
- 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ę zAccountIDi 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.