Lewe antydołączenie
Jednym z rodzajów sprzężeń dostępnych w oknie dialogowym Scalanie w Power Query jest antysprzężenie lewy, które wyświetla tylko wiersze z lewej tabeli, które nie mają pasujących wierszy z prawej tabeli. Więcej informacji: omówienie operacji scalania
Diagram przedstawia lewą tabelę z kolumnami Date(Data), CountryID (Identyfikator kraju) i Units (Jednostki). Podkreślona kolumna CountryID zawiera wartości 1 w wierszach 1 i 2, 3 w wierszu 3 i 2 w wierszu 4. Prawa tabela zawiera kolumny Id (Identyfikator) i Country (Kraj). Kolumna identyfikatora podkreślonego zawiera wartości 3 w wierszu 1 (oznaczające Panamę) i 4 w wierszu 2 (oznaczające Hiszpanię). Tabela poniżej dwóch pierwszych tabel zawiera kolumny Date( Data), CountryID (Identyfikator kraju), Units (Jednostki) i Country (Kraj). Tabela zawiera trzy wiersze z dwoma wierszami zawierającymi dane countryID 1 i jeden wiersz countryID 2. Ponieważ żaden z pozostałych identyfikatorów CountryID nie jest zgodny z żadnym z krajów/regionów w prawej tabeli, wiersze w kolumnie Country w scalonej tabeli zawierają wartość null.
W tym artykule użyto przykładowych danych, aby pokazać jak wykonać operację scalania z lewym sprzężeniem anty. Przykładowe tabele źródłowe dla tego przykładu to:
Sales: ta tabela zawiera pola Date, CountryIDi Units. CountryID to wartość całkowita, która reprezentuje unikatowy identyfikator z tabeli krajów.
Kraje: ta tabela jest tabelą referencyjną zawierającą pola id i Kraj. Pole identyfikatora
reprezentuje unikatowy identyfikator dla każdego rekordu.
W tym przykładzie scalasz obie tabele, z tabelą Sales jako lewą tabelą i tabelą Countries jako prawą. Łączenie jest wykonywane między następującymi kolumnami.
Pole z tabeli Sales | Pole z tabeli Kraje |
---|---|
Identyfikator kraju | Identyfikator |
Celem jest utworzenie tabeli podobnej do poniższej, w której przechowywane są tylko wiersze z lewej tabeli, które nie pasują do żadnej z prawej tabeli.
Zrzut ekranu przedstawiający lewą tabelę wynikową po antyłączeniu z nagłówkami kolumn Date, CountryID, Units i Country oraz trzema wierszami danych, których wartości w kolumnie Country są puste.
Aby wykonać lewe antysprzężenie:
- Wybierz zapytanie Sales, a następnie wybierz Scal zapytania.
- W oknie dialogowym Scalanie w obszarze Prawej tabeli do scalaniawybierz pozycję Kraje.
- W tabeli Sales wybierz kolumnę CountryID.
- W tabeli krajów wybierz kolumnę identyfikatora .
- W sekcji Rodzaj sprzężenia wybierz lewostronne antyłączenie.
- Wybierz pozycję OK.
Napiwek
Przyjrzyj się bliżej komunikatowi w dolnej części okna dialogowego z napisem "Wybór wybiera 3 z 4 wierszy z pierwszej tabeli". Ten komunikat ma kluczowe znaczenie dla zrozumienia wyniku uzyskanych z tej operacji.
W tabeli Sales znajdują się dwa wystąpienia z CountryID równym 1 oraz jedno wystąpienie z CountryID równym 2, ale żadna z nich nie znajduje się w tabeli Kraje. Dlatego dopasowanie znalazło trzy z czterech wierszy w lewej (pierwszej) tabeli.
W tabeli Countries znajduje się Country Panama z identyfikatorem 3, dzięki czemu rekord nie jest wprowadzany do tabeli Sales, ponieważ liczby są zgodne. Ponadto masz Country Hiszpania z identyfikatorem 4, ale nie ma żadnych rekordów dla CountryID 4 w tabeli Sales. W związku z tym żadna z dwóch wierszy z prawej (drugiej) tabeli nie zostanie wprowadzona do tabeli Sales.
W nowo utworzonej kolumnie Countries rozwiń pole Country. Nie zaznaczaj pola wyboru Użyj oryginalnej nazwy kolumny jako prefiksu.
Po wykonaniu tej operacji utworzono tabelę, która wygląda jak na poniższej ilustracji. Nowo rozszerzone pole Country nie ma żadnych wartości, ponieważ lewe sprzężenie anty nie przenosi żadnych wartości z prawej tabeli — przechowuje tylko wiersze z lewej tabeli.
Zrzut ekranu przedstawiający końcową tabelę z nagłówkami kolumn Date, CountryID, Units i Country oraz trzema wierszami danych. Wszystkie wartości kolumny Country mają wartość null.