Udostępnij za pośrednictwem


Lewy antysprzężenia

Jednym z rodzajów sprzężeń dostępnych w oknie dialogowym Scalanie w dodatku Power Query jest lewe antysprzężenia, które powoduje 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 antysprzężenia.

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 antysprzężeniami. Przykładowe tabele źródłowe dla tego przykładu to:

  • Sales (Sprzedaż): ta tabela zawiera pola Date (Data), CountryID (Identyfikator kraju) i Units (Jednostki). CountryID to wartość całkowita reprezentująca unikatowy identyfikator z tabeli Kraje .

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

  • Kraje: ta tabela jest tabelą referencyjną z identyfikatorami pól i krajami. Pole id reprezentuje unikatowy identyfikator dla każdego rekordu.

    Zrzut ekranu przedstawiający tabelę krajów z identyfikatorem ustawionym na 3 w wierszach 1 i 4 w wierszu 2 i kraj ustawionym na Panamę w wierszu 1 i Hiszpanii w wierszu 2.

W tym przykładzie scalisz obie tabele z tabelą Sales (Sprzedaż ) jako tabelą po lewej stronie i tabelą Countries (Kraje ) po prawej stronie. Sprzężenia są wykonywane między następującymi kolumnami.

Pole z tabeli Sales Pole z tabeli Kraje
CountryID ID

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.

Lewa tabela końcowa antysprzężenia.

Zrzut ekranu przedstawiający lewą tabelę końcową antysprzężenia z nagłówkami kolumn Date, CountryID, Units i Country oraz trzema wierszami danych, których wartości kolumny Country mają wartość null.

Aby wykonać lewe antysprzężenie:

  1. Wybierz zapytanie Sales (Sprzedaż), a następnie wybierz pozycję Merge query (Scal zapytania).
  2. W oknie dialogowym Scalanie w obszarze Prawa tabela do scalania wybierz pozycję Kraje.
  3. W tabeli Sales (Sprzedaż) wybierz kolumnę CountryID (Identyfikator kraju).
  4. W tabeli Kraje wybierz kolumnę ID.
  5. W sekcji Rodzaj sprzężenia wybierz pozycję Lewy anty.
  6. Wybierz przycisk OK.

Zrzut ekranu przedstawiający okno dialogowe 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 (Sprzedaż) istnieją dwa wystąpienia identyfikatora CountryID 1 i jedno wystąpienie identyfikatora CountryID 2, ale żadna z nich nie znajduje się w tabeli Kraje. W związku z tym dopasowanie znalazło trzy z czterech wierszy w lewej (pierwszej) tabeli.

W tabeli Countries (Kraje) znajduje się rekord Country Panama o identyfikatorze 3, więc rekord nie jest wprowadzany do tabeli Sales (Sprzedaż), ponieważ liczby są zgodne. Ponadto masz kraj Hiszpanii o identyfikatorze 4, ale w tabeli Sales nie ma żadnych rekordów countryID 4. W związku z tym żadna z dwóch wierszy z prawej (drugiej) tabeli nie jest wprowadzana do tabeli Sales .

W nowo utworzonej kolumnie Kraje rozwiń pole Kraj . Nie zaznaczaj pola wyboru Użyj oryginalnej nazwy kolumny jako prefiksu .

Zrzut ekranu przedstawiający okno dialogowe Rozwijanie z wybraną tylko kolumną Country (Kraj).

Po wykonaniu tej operacji utworzono tabelę, która wygląda jak na poniższej ilustracji. Nowo rozwinięte pole Country (Kraj ) nie ma żadnych wartości, ponieważ lewe antysprzężenia nie przynosi ż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.