Łączenie wielu tabel w jedną tabelę

Ukończone

Możliwość łączenia zapytań jest zaawansowaną funkcją, ponieważ umożliwia dołączanie lub scalanie różnych tabel bądź zapytań. Tabele można łączyć w jedną tabelę w następujących okolicznościach:

  • Istnieje zbyt wiele tabel, co utrudnia poruszanie się po zbyt skomplikowanym modelu semantycznym.

  • Kilka tabel pełni podobną rolę.

  • W tabeli jest tylko jedna lub dwie kolumny, które mogą pasować do innej tabeli.

  • Chcesz utworzyć kolumnę niestandardową, na którą będzie się składało kilka kolumn z różnych tabel.

Tabele można łączyć na dwa różne sposoby, scalając je lub dołączając.

Załóżmy, że tworzysz raporty usługi Power BI dla zespołów ds. sprzedaży i kadr. Poproszono Cię o utworzenie raportu dotyczącego informacji kontaktowych, który ma zawierać informacje kontaktowe i lokalizację każdego pracownika, dostawcy i klienta.  Dane znajdują się w tabelach HR.Employees, Production.Suppliers i Sales.Customers, jak pokazano na następującej ilustracji.

Zrzut ekranu przedstawiający wybieranie tabel w edytorze Power Query

Jednak te dane pochodzą z wielu tabel, więc dylemat polega na tym, jak można scalić dane z wielu tabel i utworzyć jedną tabelę źródłową będącą podstawą do utworzenia raportu. Swoiste funkcje usługi Power BI umożliwiają łączenie i scalanie zapytań w jedną tabelę.

Dołączanie zapytań

Podczas dołączania zapytań będziesz dodawać wiersze danych do innej tabeli lub zapytania. Na przykład można mieć dwie tabele, jedną z 300 wierszami, a drugą z 100 wierszami, a po dołączeniu zapytań skończysz z 400 wierszami. Podczas scalania zapytań będziesz dodawać kolumny z jednej tabeli (lub zapytania) do innej.  Aby scalić dwie tabele, jedna kolumna musi pełnić rolę klucza łączącego dwie tabele.

W przypadku wcześniej wymienionego scenariusza dołączysz dział kadrowy. Tabela Employees z tabelami Production.Suppliers i Sales.Customers, aby mieć jedną główną listę informacji kontaktowych.  Ponieważ chcesz utworzyć jedną tabelę zawierającą wszystkie informacje kontaktowe pracowników, dostawców i klientów, podczas łączenia zapytań odpowiednie kolumny, które są wymagane w połączonej tabeli, muszą mieć takie same nazwy jak w oryginalnych tabelach danych, aby móc wyświetlić jeden skonsolidowany widok.

Przed rozpoczęciem łączenia zapytań możesz usunąć z tabel nadmiarowe kolumny, które nie będą potrzebne do wykonania tego zadania. Aby wykonać to zadanie, sformatuj każdą tabelę w ten sposób, aby zawierała tylko cztery kolumny z odpowiednimi informacjami. Wszystkie te kolumny powinny mieć takie same nagłówki kolumn: ID, company, name i phone.  Na poniższych ilustracjach przedstawiono fragmenty ponownie sformatowanych tabel Sales.Customers, Production.Suppliers i HR.Employees.

Ponowne formatowanie na potrzeby dołączania

Po zakończeniu ponownego formatowania można połączyć zapytania. Na karcie Narzędzia główne na wstążce Edytor Power Query wybierz listę rozwijaną dołączania zapytań. Możesz wybrać pozycję Dołącz zapytania jako nowe, co oznacza, że dane wyjściowe dołączania spowodują utworzenie nowego zapytania lub tabeli lub wybranie opcji Dołącz zapytania, które spowoduje dodanie wierszy z istniejącej tabeli do innej.

Następnym zadaniem jest utworzenie nowej tabeli głównej, dlatego należy wybrać pozycję Dołącz zapytania jako nowe. Ten wybór spowoduje przeniesienie do okna, w którym można dodać tabele, które chcesz dołączyć z dostępnych tabel do dołączania, jak pokazano na poniższej ilustracji.

Opcja Dołącz zapytania jako nowe w edytorze Power Query

Po dodaniu tabel, które mają zostać dołączone, wybierz przycisk OK. Nastąpi przekierowanie do nowego zapytania zawierającego wszystkie wiersze ze wszystkich trzech tabel, jak pokazano na poniższej ilustracji.

Wynik dołączania zapytania jako nowego

Udało się utworzyć tabelę główną zawierającą informacje dotyczące pracowników, dostawców i klientów. Możesz opuścić edytor Power Query i utworzyć wszystkie elementy raportu otaczające tę tabelę główną.

Jeśli jednak chcesz scalić tabele zamiast dołączania danych z jednej tabeli do innej, przebieg tego procesu będzie odmienny.

Scalanie zapytań

Podczas scalania zapytań łączysz dane z wielu tabel w jedną na podstawie kolumny, która jest wspólna między tabelami.  Ten proces jest podobny do klauzuli JOIN w języku SQL.  Rozważmy scenariusz, w którym zespół ds. sprzedaży prosi Cię o skonsolidowanie zamówień i odpowiadających im szczegółów (które są obecnie w dwóch tabelach) w jedną tabelę. To zadanie można wykonać, scalając dwie tabele — Orders i OrderDetails (Zamówienia i SzczegółyZamówień) — jak pokazano na poniższej ilustracji. Kolumna udostępniona między tymi dwiema tabelami to OrderID.

Tabele zamówień i szczegółów zamówień do scalenia

Przejdź do strony głównej na wstążce Edytor Power Query i wybierz menu rozwijane Scal zapytania, w którym możesz wybrać pozycję Scal zapytania jako Nowe. To zaznaczenie spowoduje otwarcie nowego okna, w którym można wybrać tabele, które chcesz scalić z listy rozwijanej, a następnie wybrać kolumnę pasującą między tabelami, która w tym przypadku jest uporządkowana.

Okno scalania zapytań

Można też wybrać sposób sprzężenia dwóch tabel — ten proces również jest podobny do instrukcji JOIN w języku SQL.  Te opcje sprzężenia obejmują:

  • Lewe zewnętrzne — wyświetla wszystkie wiersze z pierwszej tabeli i tylko zgodne wiersze z drugiej.

  • Pełne zewnętrzne — wyświetla wszystkie wiersze z obu tabel.

  • Wewnętrzne — wyświetla zgodne wiersze między dwiema tabelami.

W tym scenariuszu wybierzesz użycie sprzężenia lewego zewnętrznego . Wybierz pozycję OK, co spowoduje przejście do nowego okna, w którym można wyświetlić scalone zapytanie.

Końcowy widok scalonych zapytań

Teraz możesz scalić dwa zapytania lub tabele na różne sposoby, aby można było wyświetlać dane w sposób najbardziej odpowiedni dla wymagań firmy.

Aby uzyskać więcej informacji na ten temat, zobacz dokumentację Kształtowanie i łączenie danych w usłudze Power BI .