Anti join destro
Uno dei tipi di join disponibili nella finestra di dialogo Merge in Power Query è un anti join destro, che include solo le righe della tabella di destra che non hanno righe corrispondenti nella tabella di sinistra. Ulteriori informazioni: panoramica delle operazioni di fusione
Diagramma che mostra la tabella sinistra con le colonne Date, CountryID e Units. La colonna CountryID evidenziata contiene valori pari a 1 nelle righe 1 e 2, 3 nella riga 3 e 2 nella riga 4. La tabella destra contiene le colonne ID e Country. La colonna ID evidenziata contiene valori di 3 nella riga 1 (che denota Panama) e 4 nella riga 2 (che denota Spagna). Una tabella sotto le prime due tabelle contiene le colonne Date, CountryID, Units e Country. La tabella include una riga, con Date, CountryID e Units impostata su null e l'opzione Country impostata su Spagna.
Questo articolo usa dati di esempio per illustrare come eseguire un'operazione di unione con l'anti join corretto. Le tabelle di origine di esempio per questo esempio sono:
Sales: questa tabella include i campi Date, CountryIDe Units. CountryID è un valore numerico intero che rappresenta l'identificatore univoco dalla tabella Paesi.
Paesi: questa è una tabella di riferimento con i campi ID e Paese. Il campo id rappresenta l'identificatore univoco per ogni record.
In questo esempio vengono unite entrambe le tabelle, con la tabella Sales come tabella a sinistra e la tabella Countries a destra. Il join viene eseguito tra le colonne seguenti.
Campo della tabella Vendite | Campo della tabella Paesi |
---|---|
CountryID | ID |
L'obiettivo è creare la tabella seguente, in cui vengono mantenute solo le righe della tabella destra che non corrispondono a nessuna della tabella a sinistra. Come caso d'uso comune, è possibile trovare tutte le righe presenti nella tabella di destra ma assenti in quella di sinistra.
Tabella finale di destra con join anti, utilizzando le colonne di intestazione Data, IDPaese, Unità e Paese, contenente una riga con valori null in tutte le colonne, tranne Paese, che contiene Spagna.
Per eseguire un anti join corretto:
- Seleziona la query Sales e quindi seleziona Unisci query.
- Nella finestra di dialogo Unione, sotto Tabella campo destro per unione, selezionare Paesi.
- Nella tabella Sales, selezionare la colonna CountryID.
- Nella tabella Paesi, selezionare la colonna ID.
- Nella sezione Tipo di join selezionare Anti destro.
- Selezionare OK.
Suggerimento
Esaminare più in dettaglio il messaggio nella parte inferiore della finestra di dialogo che legge "La selezione esclude 1 di 2 righe dalla seconda tabella". Questo messaggio è fondamentale per comprendere il risultato ottenuto da questa operazione.
Nella tabella Paesi
Dalla colonna Paesi appena creata, espandi il campo Paese. Non selezionare la casella di controllo Usa nome colonna originale come prefisso.
Dopo aver eseguito questa operazione, creare una tabella simile all'immagine seguente. Il campo Country appena espanso
Screenshot della tabella finale con le colonne di intestazione Date, CountryID, Units e Country, contenente una riga con null in tutte le colonne, ad eccezione di Country, che contiene Spagna.