Udostępnij za pośrednictwem


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

przykład lewego antyłączenia.

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.

    Zrzut ekranu przedstawiający tabelę sprzedaży zawierającą kolumny Data, Identyfikator kraju oraz Jednostki, z wartością Identyfikatora kraju ustawioną na 1 w wierszach 1 i 2, 3 w wierszu 3, i 2 w wierszu 4.

  • Kraje: ta tabela jest tabelą referencyjną zawierającą pola id i Kraj. Pole identyfikatora reprezentuje unikatowy identyfikator dla każdego rekordu.

    Zrzut ekranu tabeli krajów z identyfikatorem ustawionym na 3 w wierszu 1 i na 4 w wierszu 2 oraz z krajem ustawionym na Panamę w wierszu 1 i Hiszpanię w wierszu 2.

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.

Antyłączenie lewej tabeli końcowej.

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:

  1. Wybierz zapytanie Sales, a następnie wybierz Scal zapytania.
  2. W oknie dialogowym Scalanie w obszarze Prawej tabeli do scalaniawybierz pozycję Kraje.
  3. W tabeli Sales wybierz kolumnę CountryID.
  4. W tabeli krajów wybierz kolumnę identyfikatora .
  5. W sekcji Rodzaj sprzężenia wybierz lewostronne antyłączenie.
  6. Wybierz pozycję OK.

zrzut ekranu okna dialogowego Scalanie z wynikami poprzedniej procedury antysprzężenia po lewej stronie.

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.

Zrzut ekranu okna dialogowego Rozwijanie z wybraną tylko kolumną Country (Kraj).

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.

Końcowa tabela lewego antysprzężenia.

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.