Prawe antysprzężenia
Jednym z rodzajów sprzężeń dostępnych w oknie dialogowym Scalanie w dodatku Power Query jest prawe antysprzężenia, które powoduje tylko wiersze z prawej tabeli, które nie mają pasujących wierszy z lewej tabeli. Więcej informacji: Omówienie operacji scalania
Rysunek przedstawia tabelę po lewej stronie 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. Tabela po prawej stronie zawiera kolumny ID i Country. 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 jeden wiersz z wartością Date(Data), CountryID (Identyfikator kraju) i Units (Jednostki) ustawioną na null(Data), CountryID (Jednostki) i Country (Kraj) ustawioną na Hiszpanię( Hiszpania).
W tym artykule użyto przykładowych danych, aby pokazać, jak wykonać operację scalania z odpowiednim 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 .
Kraje: jest to tabela referencyjna z polami o identyfikatorze i kraju. Pole id reprezentuje unikatowy identyfikator dla każdego rekordu.
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 zostaną wykonane między następującymi kolumnami.
Pole z tabeli Sales | Pole z tabeli Kraje |
---|---|
CountryID | identyfikator |
Celem jest utworzenie tabeli podobnej do poniższej, w której przechowywane są tylko wiersze z prawej tabeli, które nie pasują do żadnej z lewej tabeli. Typowym przypadkiem użycia jest znalezienie wszystkich wierszy dostępnych w prawej tabeli, ale nie można ich znaleźć w tabeli po lewej stronie.
Prawa tabela końcowa antysprzężenia z kolumnami nagłówka Date, CountryID, Units i Country zawierającą jeden wiersz z wartością null we wszystkich kolumnach z wyjątkiem Kraju, który zawiera Hiszpanię.
Aby wykonać prawe antysprzężenie
- Wybierz zapytanie Sales (Sprzedaż), a następnie wybierz pozycję Merge query (Scal zapytania).
- W oknie dialogowym Scalanie w obszarze Prawa tabela do scalania wybierz pozycję Kraje.
- W tabeli Sales (Sprzedaż) wybierz kolumnę CountryID (Identyfikator kraju).
- W tabeli Kraje wybierz kolumnę id.
- W sekcji Rodzaj sprzężenia wybierz pozycję Prawe anty.
- Wybierz przycisk OK.
Napiwek
Przyjrzyj się bliżej komunikatowi w dolnej części okna dialogowego z napisem "Zaznaczenie wyklucza 1 z 2 wierszy z drugiej tabeli". Ten komunikat ma kluczowe znaczenie dla zrozumienia wyniku uzyskanych z tej operacji.
W tabeli Countries (Kraje) znajduje się hiszpania z identyfikatorem 4, ale w tabeli Sales nie ma żadnych rekordów countryID 4. Dlatego tylko jeden z dwóch wierszy z prawej (drugiej) tabeli znalazł dopasowanie. Ze względu na sposób działania prawego antysprzężenia nigdy nie zobaczysz żadnych wierszy z lewej (pierwszej) tabeli w danych wyjściowych tej operacji.
W nowo utworzonej kolumnie Kraje rozwiń pole Kraj . Nie zaznaczaj pola wyboru Użyj oryginalnej nazwy kolumny jako prefiksu .
Po wykonaniu tej operacji utworzysz tabelę, która wygląda jak na poniższej ilustracji. Nowo rozwinięte pole Kraj nie ma żadnych wartości. Dzieje się tak, ponieważ prawe antysprzężenia nie przynoszą żadnych wartości z lewej tabeli — przechowuje tylko wiersze z prawej tabeli.
Końcowa tabela z kolumnami nagłówka Date, CountryID, Units i Country zawierającą jeden wiersz z wartością null we wszystkich kolumnach z wyjątkiem Kraju, który zawiera Hiszpanię.