Przeskocz do zawartości głównej

Join

Prefiks join powoduje sprzężenie załadowanej tabeli z istniejącą tabelą nazwaną lub ostatnio utworzoną tabelą danych.

Efektem sprzężenia danych jest rozszerzenie tabeli docelowej o dodatkowy zestaw pól lub atrybutów, czyli tych, których nie ma jeszcze w tabeli docelowej. Wszelkie wspólne nazwy pól między źródłowym zestawem danych a tabelą docelową są używane do określenia sposobu powiązania nowych rekordów przychodzących. Jest to powszechnie określane jako „sprzężenie naturalne”. Operacja sprzężenia Qlik może prowadzić do tego, że wynikowa tabela docelowa będzie miała więcej lub mniej rekordów niż na początku, w zależności od unikatowości asocjacji łączenia i typu zastosowanego sprzężenia.

Istnieją cztery rodzaje sprzężeń:

Sprzężenia Left join są najczęściej występującym typem sprzężenia. Na przykład, jeśli masz zestaw danych transakcyjnych i chcesz połączyć go z zestawem danych referencyjnych, zwykle użyjesz Left Join. Najpierw należy załadować tabelę transakcji, a następnie załadować zestaw danych referencyjnych podczas sprzęgania jej za pomocą prefiksu Left Join z już załadowaną tabelą transakcji. Left Join zachowałoby wszystkie transakcje bez zmian i dodałoby dodatkowe pola danych referencyjnych, w których znaleziono dopasowanie.

Jeśli masz dwa zestawy danych, w których interesują Cię tylko wyniki z pasującą asocjacją, rozważ użycie Inner Join. Spowoduje to wyeliminowanie wszystkich rekordów zarówno z załadowanych danych źródłowych, jak i z tabeli docelowej, jeśli nie zostanie znalezione dopasowanie. W rezultacie może to spowodować pozostawienie w tabeli docelowej mniejszej liczby rekordów niż przed wykonaniem operacji sprzęgania.

Jeśli musisz zachować zarówno rekordy docelowe, jak i wszystkie rekordy przychodzące, użyj Outer Join. Jeśli nie zostanie znalezione żadne dopasowanie, każdy zestaw rekordów jest nadal zachowywany, podczas gdy pola po przeciwnej stronie sprzężenia pozostaną niewypełnione (null). Sprzężenia Outer join mają na ogół niewiele praktycznych zastosowań.

Ten typ sprzężenia zachowuje wszystkie rekordy, które mają zostać załadowane, jednocześnie redukując rekordy w tabeli będącej celem sprzężenia tylko do tych rekordów, dla których istnieje dopasowanie asocjacji w rekordach przychodzących. Jest to niszowy typ sprzężenia, który jest czasami używany jako środek do przycinania już załadowanej tabeli rekordów do wymaganego podzestawu.

Jeśli słowo kluczowe type zostanie pominięte, Inner Join jest domyślnym typem sprzężenia.

Przykładowe zestawy wyników z różnych typów operacji sprzęgania

Przykładowe zestawy wyników z różnych typów operacji sprzęgania z reprezentacją tabel danych przed i po każdej operacji.
InformacjaJeśli nie ma wspólnych nazw pól między źródłem i celem operacji sprzężenia, da ona w wyniku iloczyn kartezjański wszystkich wierszy – nazywa się to „sprzężeniem krzyżowym”.

Przykładowy zestaw wyników z operacji „sprzężenia krzyżowego”

Porównanie danych wejściowych z danymi wyjściowymi przed i po operacji sprzężenia krzyżowego (która może obejmować operację sprzężenia dowolnego typu).

Składnia:  

[inner | outer | left | right ]Join [ (tablename ) ]( loadstatement | selectstatement )

Argumenty
Argument Opis
tablename Tabela nazwana, która ma być porównana do załadowanej tabeli.
loadstatementlub selectstatement Instrukcja LOAD lub SELECT dla załadowanej tabeli.

W pracy z tą funkcją mogą Ci pomóc poniższe tematy:

Tematy pokrewne
Temat Opis
Łączenie tabel operatorami Join i Keep Ten temat zawiera dalsze wyjaśnienia pojęć „sprzęgania” i „zachowywania” zbiorów danych.
Keep Prefiks ładowania Keep jest podobny do prefiksu Join, ale nie łączy źródłowego i docelowego zestawu danych. Zamiast tego przycina każdy zestaw danych zgodnie z typem przyjętej operacji (inner, outer, left lub right).

Przykład 1 — Left join: Wzbogacenie tabeli docelowej referencyjnym zestawem danych

Przykład 2 — Inner join: Łączenie tylko pasujących rekordów

Przykład 3 — Outer join: Łączenie nakładających się zestawów rekordów

Przykład 4 – Right join: Przycinanie tabeli docelowej przez dodatkowy główny zbiór danych