Przejdź do głównej zawartości

Krok Złączenie wielu tabel

Krok Złączenie wielu tabel łączy wiele tabel w jednej operacji. Zamiast tworzyć łańcuch złączeń dwóch tabel — w którym gubi się całościowy obraz, a to samo mapowanie wyników trzeba powtarzać — rozmieszczasz wszystkie tabele w wizualnym projektancie grafu złączeń, rysujesz złączenia między ich kolumnami i otrzymujesz jedną tabelę wynikową.

Krok jest przeznaczony dla typowego kształtu złączeń analitycznych: jedna tabela faktów złączona z kilkoma tabelami wymiarów lub tabelami wyszukiwania. Jednocześnie można złączyć do 32 tabel.

Dodaj go jak każdy inny krok i wybierz Złączenie wielu tabel (w grupie Tabele w menu kroków lub przeciągnij z palety na kanwie zaawansowanego przepływu pracy). Edytor kroku ma trzy karty:

  1. Tables & Joins — wizualny projektant, w którym dodajesz tabele i rysujesz złączenia.
  2. Kolumny wyjściowe — kolumny, które znajdą się w tabeli wynikowej.
  3. Post-Join Filter — opcjonalny filtr stosowany do złączonego wyniku.

Wskaźnik stanu pokazuje Gotowe do zapisu lub Niezapisane zmiany w trakcie pracy.

Wybierz Dodaj tabelę, aby umieścić tabelę źródłową na kanwie. Każda tabela jest wyświetlana jako karta z listą kolumn i otrzymuje alias — krótką nazwę, za pomocą której odwołujesz się do jej kolumn w innych miejscach (jako alias.column). Alias musi zaczynać się od litery lub podkreślenia i nie może być słowem kluczowym SQL. Dodaj tyle tabel, ile potrzebujesz (do 32), i wybierz Tabela docelowa, do której zapisywany jest wynik.

Jeśli kolumny tabeli zmienią się w katalogu, użyj Pobierz ponownie z serwera, aby zastąpić kolumny na karcie najnowszymi wartościami.

Zarówno tabele źródłowe, jak i Tabela docelowa mogą być podane jako odwołanie, a nie wybrane z listy. Zaznacz Dynamiczny w selektorze tabeli i wpisz jedno z poniższych:

  • nazwę tabeli — FACT_GL
  • ścieżkę w projekcie — /03 Results/FACT_GL

Każda z nich może zawierać tokeny {variable}, które są podstawiane podczas uruchomienia przepływu pracy — dzięki temu /03 Results/FACT_GL_{year} zapisuje wyniki do innej tabeli w każdym okresie, w zależności od zmiennej projektu lub przepływu pracy. Tabela docelowa jest tworzona, jeśli nie istnieje.

Niedopasowane nawiasy klamrowe są wykrywane podczas zapisu, więc błędnie wpisane FACT_{year jest zgłaszane w kroku, a nie powoduje awarii w połowie uruchomienia.

Przeciągnij od kropki kolumny w jednej tabeli do kolumny w innej, aby utworzyć złączenie (krawędź). Zaznacz krawędź, aby otworzyć jej edytor po prawej stronie, w którym ustawiasz:

  • Typ złączenia:

    Typ Zachowuje
    INNER tylko dopasowania
    LEFT wszystkie wiersze z lewej tabeli
    FULL wszystkie wiersze z obu stron
    CROSS każdy wiersz lewej tabeli połączony z każdym wierszem prawej (bez warunków)
  • Warunki złączenia — jedno lub więcej porównań między kolumnami obu tabel. Dodaj kolejne za pomocą + Dodaj warunek, łącz je operatorami AND / OR i używaj pełnego zestawu operatorów (=, <>, <, <=, >, >=, BETWEEN, IS NULL, IS NOT NULL, IN, NOT IN, LIKE, NOT LIKE).

  • Etykieta (opcjonalnie) — nazwij złączenie (na przykład customer-to-orders), aby diagram był czytelniejszy.

Projektant utrzymuje graf złączeń jako drzewo — każda tabela łączy się z wynikiem dokładnie przez jedno złączenie, więc nie ma cykli ani niejednoznacznych ścieżek, a tabeli nie można złączyć z samą sobą. Aby usunąć złączenie, zaznacz krawędź i wybierz Usuń krawędź.

Każda tabela źródłowa ma Filtr wejściowy stosowany przed złączeniem — użyj go, aby ograniczyć tabelę do interesujących Cię wierszy (odwołuj się do jej kolumn jako alias.column). Jest to odrębne od Post-Join Filter, który działa po wszystkich złączeniach.

  • Uporządkuj układ automatycznie rozmieszcza tabele i złączenia od lewej do prawej według kolejności złączeń.
  • Dopasuj do widoku skaluje i centruje widok tak, aby cały graf był widoczny; można też ręcznie przesuwać i powiększać.
  • Filtruj kolumny… zawęża kolumny wyświetlane na kartach, gdy tabela ma ich wiele.
  • Cofnij / Ponów przesuwają Cię wstecz i do przodu w historii edycji (Ctrl+Z / Ctrl+Y), a Historia otwiera panel ze wszystkimi zmianami od otwarcia okna dialogowego, wraz z opcją Przywróć.
  • Eksportuj pobiera diagram złączeń jako obraz SVG — przydatny w dokumentacji lub podczas przeglądu.

Na karcie Kolumny wyjściowe wybierasz kolumny, które znajdą się w tabeli wynikowej. Wybieraj z dowolnej złączonej tabeli — użyj Wybierz z obszaru roboczego…, aby wybrać wizualnie spośród kolumn wszystkich źródeł, lub Dodaj wszystkie kolumny źródłowe, aby dodać je wszystkie naraz. Dla każdej kolumny możesz zmienić jej nazwę, ustawić typ danych i zastosować agregację. Gdy dwie kolumny źródłowe mają tę samą nazwę, PlaidCloud dodaje do nich prefiks z aliasem źródła, aby nie kolidowały.

Każda kolumna wyjściowa pobiera swoją wartość z dokładnie jednego z trzech miejsc:

  • Kolumna źródłowa — ustaw Alias źródła na alias z kanwy, do którego należy, a Źródło na odwołanie alias.column. Oba pola są wymagane; kolumna źródłowa zawsze wskazuje tabelę, z której pochodzi.
  • Stała — ta sama stała wartość w każdym wierszu.
  • Wyrażenie — wybierz Dodaj kolumnę wyrażenia, aby dołączyć wiersz i otworzyć edytor wyrażeń. Wyrażenia mogą odwoływać się do dowolnego aliasu źródła z kanwy jako alias.column, dzięki czemu tak budujesz wartość obejmującą kilka złączonych tabel (CASE na dwóch tabelach, konkatenację, obliczoną kwotę). W wierszu wyrażenia pozostaw Alias źródła i Źródło puste.

Wypełnienie więcej niż jednego z nich jest błędem, podobnie jak niewypełnienie żadnego.

Komórka Wyrażenie otwiera standardowy edytor wyrażeń PlaidCloud z każdą tabelą z kanwy w przeglądarce kolumn, listą funkcji i autouzupełnianiem.

Kolumny wyjściowe podążają za kanwą: jeśli zmienisz nazwę źródła na karcie Tables & Joins, jego kolumny wyjściowe przechodzą na nowy alias, a jeśli usuniesz źródło, jego kolumny wyjściowe są usuwane — dzięki temu nigdy nie zostają kolumny wskazujące tabelę, której nie ma już w złączeniu.

Karta Post-Join Filter stosuje opcjonalny filtr do złączonego wyniku, zanim zostanie on zapisany w tabeli docelowej — odpowiednik klauzuli SQL HAVING. Kliknij pole, aby otworzyć edytor wyrażeń; kolumny wyjściowe są wymienione w jego przeglądarce kolumn, a odwołujesz się do nich jako result.column_name — aliasy źródeł nie są tu dostępne. Available references pod polem wymienia każde odwołanie, którego możesz użyć. Pozostaw pole puste, aby pominąć filtrowanie po złączeniu.

PlaidCloud waliduje złączenie w trakcie jego budowania oraz ponownie podczas uruchomienia kroku. Jeśli coś jest nie tak — nieobsługiwana konfiguracja, cykl, zduplikowany alias, kolumna wyjściowa, która nie ustawia żadnego z elementów Źródło / Stała / Wyrażenie (lub ustawia więcej niż jeden), albo kolumna, która już nie istnieje — karta otrzymuje znaczek ⚠ z liczbą problemów, projektant oznacza problematyczną tabelę lub złączenie, a zapis jest odrzucany z podaniem powodu. Zapis z nierozwiązanymi problemami przełącza Cię na kartę z pierwszym z nich; Przejdź do problemu robi to samo na żądanie.

Podczas zapisu PlaidCloud sprawdza też każde wyrażenie kolumny wyjściowej względem własnych danych wejściowych złączenia według aliasu (alias.column), tak jak działa krok, oraz sprawdza Post-Join Filter. Błędne wyrażenie jest zgłaszane przy swojej kolumnie wyjściowej, a błędny Post-Join Filter przy filtrze. Jeśli złączenie ma ustawione Przenieś także kolumny nazwane w czasie wykonania i nie podsumowuje danych, sprawdzenie wyrażeń jest pomijane przy zapisie, ponieważ kolumny są dodawane w czasie wykonania; te wyrażenia są sprawdzane podczas uruchomienia kroku. Filtry poszczególnych źródeł są również sprawdzane podczas uruchomienia kroku.

Krok Złączenie wielu tabel jest uruchamiany jak każdy inny krok. Wykonuje wszystkie złączenia w jednej operacji i zapisuje zmapowane kolumny w tabeli docelowej.