Przejdź do głównej zawartości

Ten krok wykonuje złączenie wewnętrzne dwóch tabel danych i łączy je w jedną tabelę danych na podstawie podanych kluczy złączenia.

Więcej informacji o metodyce złączenia wewnętrznego znajdziesz tutaj: Wikipedia SQL Inner Join

Tabela ATabela Bdopasowanezachowane
Złączenie wewnętrzne — zachowuje tylko wiersze, których klucz złączenia pasuje w obu tabelach (część wspólna). Niedopasowane wiersze z obu stron są odrzucane.

Źródło tabeli

Określ źródłową tabelę danych, wybierając ją z menu rozwijanego.

Kolumny źródłowe

Określ tutaj wszystkie kolumny do uwzględnienia. Wybranie przycisków Sprawdź źródło i Wypełnij tabelę mapowania źródła udostępni te kolumny na potrzeby operacji złączenia.

Wybór podzbioru danych źródłowych

Do utworzenia podzbioru danych można użyć dowolnego poprawnego wyrażenia Python. Więcej szczegółów i przykładów znajdziesz w artykule Wyrażenia.

Źródło tabeli

Zaznacz Przenieś także kolumny nazwane w czasie wykonania, aby przekazać bez zmian każdą kolumnę źródłową, której krok nie wymienia, w takiej postaci, w jakiej tabela ją ma w chwili uruchomienia kroku. Użyj tej opcji, gdy wcześniejszy krok tworzy kolumny, których nazwy zależą od danych (na przykład przestawienie), więc nie można ich wymienić podczas budowania kroku. Pozostaw ją wyłączoną, aby zapisać tylko wymienione kolumny.

Tabela docelowa

Tabela docelowa

Aby ustawić tabelę docelową, wybierz istniejącą tabelę z listy rozwijanej Tabela docelowa albo kliknij zielony znak “+”, aby utworzyć nową tabelę docelową.

Tworzenie tabeli

Podczas tworzenia nowej tabeli możesz utworzyć ją jako Widok lub jako Tabela.

Widoki:

Widoki są przydatne, ponieważ czas wykonania kroku jest znacznie krótszy niż w przypadku tabeli. Wadą widoków jest to, że nie nadają się do eksploracji danych w trybie Szczegóły tabeli.

Tabele:

Gdy celem jest tabela, wykonanie kroku trwa dłużej, ale eksploracja danych w trybie Szczegóły jest znacznie szybsza niż w przypadku widoku.

Mapa złączenia tabel

Określ warunki złączenia. Przycisk Zgadnij wypełnia tabelę Join Map pierwszą z poniższych metod, którą mogą zastosować kolumny obu tabel:

  • klucze innego kroku złączenia w tym projekcie, który łączy te same dwie tabele
  • klucze zatwierdzonej metryki, która je łączy
  • kolumny kluczowe ustawione w jednej z tabel, dopasowane według nazwy w drugiej
  • kolumny o tej samej nazwie w tabelach Table 1 i Table 2
  • kolumny, których nazwy różnią się tylko wielkością liter lub podkreśleniami, albo kolumna id dopasowana do kolumny nazwanej od swojej tabeli, na przykład customer_id dla tabeli o nazwie Customers

Wiersz pod mapą informuje, której metody użyto, dopóki nie zmienisz mapy. Funkcja Zgadnij odczytuje kolumny tabel, a nie ich wiersze, więc przed zapisaniem sprawdź klucze. Przycisk Sprawdź źródło wypełnia pustą tabelę Join Map w ten sam sposób.

Aby ręcznie dodać kolejne kolumny, kliknij prawym przyciskiem myszy w dowolnym miejscu sekcji i wybierz Wstaw wiersz lub Dołącz wiersz, aby dodać wiersz przed aktualnie zaznaczonym wierszem lub na końcu. Następnie wpisz nazwy kolumn do dopasowania z tabeli Table 1 do tabeli Table 2. Aby usunąć pole z tabeli Join Map, kliknij prawym przyciskiem myszy i wybierz Usuń.

Przycisk Sprawdź klucze, obok przycisku Zgadnij, zlicza wartości kluczy w tabeli Join Map, które występują w więcej niż jednym wierszu tabeli. Gdy wartość klucza powtarza się w tabeli, do której wykonujesz złączenie, każdy pasujący wiersz pojawia się w wyniku tyle razy, ile jest dopasowań, więc wynik może mieć więcej wierszy niż tabela, od której zaczynasz.

To, która tabela jest sprawdzana, zależy od kroku:

  • Złączenie wewnętrzne i Table Lookup: Tabela 2.
  • Złączenie zewnętrzne: Tabela 2 dla złączenia lewostronnego, Tabela 1 dla prawostronnego i obie tabele dla pełnego.

Odpowiedź pojawia się pod tabelą Join Map. Podaje liczbę powtarzających się wartości kluczy oraz wiersze, które je współdzielą, i wymienia do pięciu najczęściej powtarzanych. Zliczane są:

  • tabela w obecnym stanie, po zastosowaniu filtra tego kroku dla tej tabeli;
  • tylko wiersze, które widzisz, gdy zabezpieczenia na poziomie wierszy ograniczają widok tabeli. Odpowiedź informuje o tym;
  • brak wierszy z pustym kluczem, ponieważ pusty klucz nigdy nie pasuje do innego wiersza. Wyjątkiem jest złączenie wewnętrzne lub zewnętrzne ustawione tak, aby dopasowywać puste klucze do siebie, jak w złączeniu przekonwertowanym z Alteryx: wtedy puste klucze są liczone jako wartość klucza i mogą być wymienione jako (puste).

Krok Table Lookup nigdy nie powiela wiersza. Dla powtarzającego się klucza zachowuje jeden wiersz z Tabeli 2, biorąc najniższą wartość każdej kolumny (najmniejszą liczbę, najwcześniejszą datę, pierwszy tekst w kolejności sortowania), więc taki wiersz może łączyć wartości z różnych wierszy Tabeli 2. Funkcja Sprawdź klucze informuje, kiedy tak się dzieje; aby wybrać, które wartości są używane, zadbaj, by każdy klucz występował w Tabeli 2 tylko raz.

Sprawdzenie odczytuje tabelę w Twoim magazynie danych, więc uruchamia się tylko po jego wybraniu i kończy się po 30 sekundach. Zmiana którejkolwiek z tabel, jej filtra, tabeli Join Map lub, w złączeniu zewnętrznym, opcji Typ złączenia czyści odpowiedź.

Konfiguracja Data Mapper

Data Mapper tabeli

Data Mapper służy do mapowania kolumn z danych źródłowych na tabelę danych docelowych.

Sprawdzanie źródła i wypełnianie mappera

Przycisk menu Sprawdź źródło udostępnia dodatkowe sposoby mapowania kolumn ze źródła na cel:

  • Wypełnij obie tabele mapowania: propaguje wszystkie wartości z tabeli danych źródłowych do tabeli danych docelowych. Jest to ustawienie domyślne.
  • Wypełnij tylko tabelę mapowania źródła: mapuje wszystkie wartości wyłącznie w tabeli danych źródłowych. Jest to przydatne przy modyfikowaniu istniejącego przepływu pracy, gdy zmieniła się struktura kolumn źródłowych.
  • Wypełnij tylko tabelę mapowania celu: propaguje wszystkie wartości wyłącznie do tabeli danych docelowych.

Jeśli opcje kolumn źródłowych i docelowych nie wystarczą, kolejne kolumny można dodać do tabeli danych docelowych na kilka sposobów:

  • Propaguj wszystko wstawia wszystkie kolumny źródłowe do tabeli danych docelowych, niezależnie od tego, czy już w niej istniały.
  • Propaguj zaznaczone wstawia tylko zaznaczone kolumny źródłowe.
  • Kliknij prawym przyciskiem myszy po stronie docelowej i wybierz Wstaw wiersz, aby wstawić wiersz bezpośrednio nad aktualnie zaznaczonym wierszem.
  • Kliknij prawym przyciskiem myszy po stronie docelowej i wybierz Dołącz wiersz, aby wstawić wiersz na dole (z prawej strony) tabeli danych docelowych.

Usuwanie kolumn

Aby usunąć kolumny z tabeli danych docelowych, zaznacz wybrane kolumny, kliknij prawym przyciskiem myszy i wybierz Usuń.

Kolumny źródłowe, których nie ma już na liście

Wiersz docelowy może wskazywać Kolumnę źródłową, której tabela danych źródłowych już nie zawiera, na przykład po ponownym sprawdzeniu źródła. Krok nigdy sam nie usuwa takiego wiersza. Zamiast tego nazwa kolumny jest wyświetlana na czerwono, za znakiem ostrzegawczym ⚠, a po najechaniu na nią kursorem pojawia się informacja, że kolumny nie ma wśród kolumn źródłowych. W kroku z kilkoma tabelami, takim jak unia, każda tabela jest sprawdzana względem własnych kolumn źródłowych.

Wiersz ze Stałą, Wyrażeniem lub podsumowaniem Liczba (z wartościami null) nigdy nie jest oznaczany, ponieważ krok nie odczytuje jego kolumny źródłowej. Nic nie jest oznaczane, dopóki tabela danych źródłowych nie zawiera żadnych kolumn, na przykład przed pierwszym sprawdzeniem źródła.

Podczas zapisywania kroku, który nadal ma oznaczone wiersze, okno Znaleziono nieaktualne kolumny wyświetla je pod kartą lub tabelą, do której należą, i oferuje trzy opcje:

  • Usuń wszystkie i zapisz — usuń oznaczone wiersze, a następnie zapisz.
  • Zapisz mimo to — zapisz krok bez zmian.
  • Anuluj — wróć do kroku bez zapisywania.

Aby zachować wiersz i usunąć jego ostrzeżenie, dodaj kolumnę z powrotem do tabeli danych źródłowych albo wybierz kolumnę, którą ta tabela zawiera.

Typ danych kolumny

Każda kolumna docelowa ma Typ. Kolumna propagowana ze źródła zachowuje typ kolumny źródłowej; dodany ręcznie wiersz ma początkowo typ Tekst, a w polu Typ określasz, czym kolumna ma faktycznie być — kolumna, którą zamierzasz sumować lub sortować, wymaga typu liczbowego albo daty, ponieważ tekst jest sortowany i sumowany jako tekst.

Krok zapisany z kolumną bez żadnego typu nadal się uruchamia. Typ jest ustalany w chwili rozpoczęcia kroku na podstawie kolumny źródłowej, którą ta kolumna odczytuje. Jeśli nie ma z czego go odczytać, traktowany jest jako tekst: kolumny kroku Wyodrębnij SQL pochodzą z napisanego przez Ciebie zapytania, a nie z zmapowanego źródła, a gdy kilka źródeł zawiera kolumnę o tej samej nazwie, lecz o niezgodnych typach, używany jest tekst zamiast zgadywania jednego z nich — błędne odgadnięcie powoduje konwersję, którą magazyn danych może odrzucić, a wszystko można przekonwertować na tekst.

Samodzielne ustawienie pola Typ nadal jest sposobem na określenie, czym kolumna ma być. Pozostawienie go nieustawionego oznacza zgodę na to, czym akurat jest kolumna źródłowa.

Zmiana kolejności kolumn

Aby zmienić kolejność kolumn w tabeli danych docelowych, zaznacz wybrane kolumny. Możesz użyć jednej z poniższych metod:

  • Strzałki przenoszenia zbiorczego: wybierz odpowiednią opcję przenoszenia za pomocą strzałek w prawym górnym rogu
  • Menu kontekstowe: kliknij prawym przyciskiem myszy i wybierz Przenieś na początek, Przenieś w górę, Przenieś w dół lub Przenieś na koniec.

Ograniczanie wyniku do unikalnych rekordów

Aby zwrócić tylko unikalne wartości, wybierz opcję menu Unikalne. Spowoduje to wyświetlenie zestawu pól wyboru dla każdej kolumny źródła. Wystarczy zaznaczyć pole obok odpowiedniej kolumny, aby zwrócić tylko unikalne wyniki.

W zależności od sytuacji warto rozważyć zastosowanie podsumowania.

Proces usuwania duplikatów zachowuje pierwszy znaleziony unikalny rekord, a pozostałe odrzuca. Jeśli spójność między uruchomieniami jest ważna, warto zastosować sortowanie danych.

Agregacja i grupowanie

Aby agregować wyniki, wybierz opcję menu Podsumuj. Spowoduje to wyświetlenie zestawu pól wyboru dla każdej kolumny w tabeli danych docelowych. Wybierz odpowiednią metodę podsumowania dla każdej kolumny.

Gdy Sprawdź źródło wypełnia kolumny, kolumna liczbowa zaczyna jako Grupuj według zamiast Suma, jeśli jej nazwa wygląda na identyfikator, na przykład id, customer_id, Order No lub CustomerKey, jeśli jej tabela ustawia ją jako klucz albo jeśli złączenie używa jej jako klucza.

  • Grupuj według
  • Suma
  • Min
  • Maks
  • Pierwsza
  • Ostatnia
  • Liczba
  • Liczba (z wartościami null)
  • Średnia
  • Odchylenie standardowe
  • Odchylenie standardowe z próby
  • Odchylenie standardowe z populacji
  • Wariancja
  • Wariancja z próby
  • Wariancja z populacji
  • Zaawansowane bez grupowania

Informacje o zaawansowanym użyciu Data Mapper, takim jak wyrażenia, czyszczenie i stałe, znajdziesz w artykule Zaawansowane użycie Data Mapper

Wiersz tabeli Join Map lub Docelowe kolumny wyjściowe może wskazywać kolumnę, której karta Kolumny źródłowe kroku już nie wymienia, na przykład po ponownym sprawdzeniu kolumn źródła. Krok nigdy nie usuwa takiego wiersza automatycznie. Zamiast tego nazwa kolumny jest wyświetlana na czerwono za znakiem ostrzegawczym ⚠, a po najechaniu na nią kursorem zobaczysz, na której liście źródła brakuje kolumny.

Wiersz tabeli Docelowe kolumny wyjściowe z podsumowaniem Stała, Wyrażenie lub Liczba (z wartościami null) nigdy nie jest oznaczany, ponieważ krok nie odczytuje kolumny źródłowej tego wiersza. Nic nie jest sprawdzane względem źródła, którego lista jest pusta, na przykład takiego, którego nigdy nie sprawdzano.

Gdy zapisujesz krok, który nadal ma oznaczone wiersze, okno dialogowe Znaleziono nieaktualne kolumny wymienia je według tabeli i oferuje trzy wybory:

  • Usuń wszystkie i zapisz — usuwa oznaczone wiersze, a następnie zapisuje.
  • Zapisz mimo to — zapisuje krok bez zmian.
  • Anuluj — wraca do kroku bez zapisywania.

Aby zachować wiersz i usunąć jego ostrzeżenie, dodaj kolumnę z powrotem do listy tego źródła na karcie Kolumny źródłowe albo wybierz kolumnę, którą lista zawiera.

Podczas zapisywania każda tabela źródłowa jest też sprawdzana w jej obecnym stanie. Kolumna, którą lista źródła zawiera, a jej tabela nie ma, otwiera okno dialogowe Brakujące kolumny źródłowe z nazwą tabeli i kolumny oraz opcjami Zapisz mimo to lub Anuluj. Gdy oznaczone są także wiersze, oba komunikaty pojawiają się razem w oknie dialogowym Znaleziono nieaktualne kolumny. Zobacz Kolumny brakujące w tabeli źródłowej.

Table Data Filters

Aby zapewnić maksymalną elastyczność, filtry danych są dostępne zarówno dla danych źródłowych, jak i docelowych. W przypadku większych zbiorów danych szczególnie korzystne może być odfiltrowanie wierszy już na źródle, aby pozostałe operacje były wykonywane na mniejszym zbiorze danych.

Wybierz podzbiór danych

Ten typ filtru umożliwia filtrowanie przychodzących danych źródłowych na podstawie określonych warunków.

Zastosuj filtr wtórny do danych wynikowych

Ten typ filtru umożliwia zastosowanie filtru do danych wynikowych po transformacji na podstawie określonych warunków. Możliwość zastosowania filtru do wyniku po transformacji pozwala na wykluczenia oparte na wynikach złożonych obliczeń, podsumowań lub funkcji okienkowych.

Końcowe wycinanie tabeli danych (limit)

Wycinanie wierszy umożliwia ograniczenie liczby wierszy w zbiorze wynikowym na podstawie zakresu i punktu początkowego.

Składnia filtrów

Składnia filtrów korzysta z Python SQLAlchemy, czyli tej samej składni, która obowiązuje w innych wyrażeniach.

Przykłady i funkcje wyrażeń znajdziesz w obszarze Wyrażenia.

W tym przykładzie rozważ następujące źródłowe tabele danych. Pierwsza to lista producentów samochodów.

Mfg_ID Manufacturer
1 Aston Martin
2 Porsche
3 Lamborghini
4 Ferrari
5 Koenigsegg

Druga to lista modeli samochodów z identyfikatorem producenta. Zwróć uwagę, że kilka modeli nie ma producenta.

ModelName Mfg_ID
Aventador 3
Countach 3
DBS 1
Enzo 4
One-77 1
Optimus Prime
Batmobile
Agera 5
Lightning McQueen

Aby uzyskać listę modeli według producenta, warto wykonać złączenie po Mfg_ID.

Najpierw określ parametry Table 1 Data Selection. Wybrana jest źródłowa tabela danych i wyświetlone są wszystkie kolumny.

Następnie określ parametry Table 2 Data Selection. Ponownie wybrana jest źródłowa tabela danych i wyświetlone są wszystkie kolumny.

Na koniec warunki złączenia ustawia się na karcie Table Output. Dzięki przyciskowi Zgadnij Analyze poprawnie rozpoznaje kolumnę Mfg_ID jako Join Key. Na końcu

Docelowe kolumny wyjściowe są określane automatycznie za pomocą przycisku Propaguj. W efekcie uwzględniane są wszystkie kolumny ze wszystkich tabel, a każda kolumna złączenia występuje tylko raz. Zwróć uwagę, że kolumny są posortowane alfabetycznie, najpierw według Manufacturer, a następnie według ModelName.

Zgodnie z oczekiwaniami wynik końcowy zawiera tylko wartości, które miały dopasowanie w obu tabelach. Dlatego Porsche się nie pojawia, ponieważ nie miał żadnych modeli. Podobnie Batmobile nie miał producenta (był to egzemplarz wykonany na zamówienie), więc nie został uwzględniony.