Panoramica delle query di merge

Un'operazione di unione delle query unisce due tabelle esistenti in base ai valori corrispondenti di una o più colonne. È possibile scegliere di usare tipi diversi di join, a seconda dell'output desiderato.

Diagramma che mostra due tabelle vuote in alto unite a una tabella nella parte inferiore con tutte le colonne della tabella a sinistra e una dalla tabella a destra.

Unione di query

È possibile trovare il comando Merge query nella scheda Home nel gruppo Combina . Dal menu a discesa sono disponibili due opzioni:

  • Merge di query: visualizza la finestra di dialogo Merge con la query selezionata come tabella sinistra dell'operazione di unione.
  • Unisci query come nuovo: visualizza la finestra di dialogo Unione senza tabelle preselezionato per l'operazione di unione.

Screenshot della scheda Home di Power Query con le opzioni Merge query evidenziate.

Identificare le tabelle per l'unione

L'operazione di unione richiede due tabelle:

  • Tabella sinistra per l'unione: la prima selezione, dall'alto verso il basso dello schermo.
  • Tabella corretta per l'unione: la seconda selezione, dall'alto verso il basso dello schermo.

Screenshot di una finestra di dialogo Merge senza voci per la tabella a sinistra o a destra.

Nota

La posizione, sinistra o destra, delle tabelle diventa molto importante quando si seleziona il tipo di join corretto da usare.

Selezionare le coppie di colonne

Dopo aver selezionato entrambe le tabelle a sinistra e a destra, è possibile selezionare le colonne che determinano il join tra le tabelle. Nell'esempio seguente sono disponibili due tabelle:

  • Vendite: il campo CountryID è una chiave o un identificatore della tabella Paesi .
  • Paesi: questa tabella contiene il CountryID e il nome del paese.

Finestra di dialogo Unione con tabelle e colonne sinistra e destra selezionate.

Screenshot della finestra di dialogo di unione con la tabella Left per merge impostata su Sales e la colonna CountryID selezionata e la tabella Right per merge impostata su Paesi e la colonna CountryID selezionata.

L'obiettivo è unire queste tabelle usando la colonna CountryID di entrambe le tabelle, quindi si seleziona la colonna CountryID da ogni tabella. Dopo aver effettuato le selezioni, viene visualizzato un messaggio con un numero stimato di corrispondenze nella parte inferiore della finestra di dialogo.

Nota

Anche se in questo esempio viene illustrata la stessa intestazione di colonna per entrambe le tabelle, questo non è un requisito per l'operazione di unione. Le intestazioni di colonna non devono corrispondere tra le tabelle. Tuttavia, è importante notare che le colonne devono essere dello stesso tipo di dati. In caso contrario, l'operazione di unione potrebbe non restituire risultati corretti.

È anche possibile selezionare più colonne per eseguire il join selezionando CTRL mentre si selezionano le colonne. In questo caso, l'ordine in cui sono state selezionate le colonne viene visualizzato in numeri piccoli accanto alle intestazioni di colonna, a partire da 1.

Per questo esempio sono disponibili le tabelle Sales e Countries . Ognuna delle tabelle include colonne CountryID e StateID, che è necessario associare per il join tra entrambe le colonne.

Selezionare prima la colonna CountryID nella tabella Sales , premere CTRL e quindi selezionare la colonna StateID . Questa azione mostra i numeri piccoli nelle intestazioni di colonna. Successivamente, eseguire le stesse selezioni nella tabella Paesi .

Finestra di dialogo Unisci con le impostazioni per le tabelle a sinistra e a destra.

Screenshot della finestra di dialogo di unione con la tabella Left per l'unione impostata su Sales, con le colonne CountryID e StateID selezionate e la tabella Right per merge impostata su Paesi, con le colonne CountryID e StateID selezionate. Il tipo join è impostato su Left outer.

Nota

Quando si selezionano più colonne per un join, l'ordine di selezione delle colonne in ogni tabella deve corrispondere. Ad esempio, la prima colonna selezionata nella tabella a sinistra corrisponde alla prima colonna selezionata nella tabella a destra e così via. In caso contrario, si osserveranno risultati di join non corretti.

Usare il suggerimento per la coppia di colonne

Quando si seleziona la tabella sinistra e destra nella finestra di dialogo Unione, è possibile controllare l'icona della lampadina nell'angolo superiore destro della finestra di dialogo per verificare se sono presenti suggerimenti per il mapping di coppie di colonne tra entrambe le tabelle.

Possono essere presenti molti suggerimenti, ma per questo scenario è presente un solo suggerimento per la funzionalità, in cui esegue il mapping della colonna CountryID dalla tabella Sales alla colonna CountryID della tabella Countries. È possibile selezionarlo e il mapping delle colonne viene applicato automaticamente alla finestra di dialogo.

Screenshot della finestra di dialogo Merge che mostra l'associazione suggerita delle colonne CountryID per le tabelle Sales and Countries.

Nota

Viene suggerito solo il mapping di coppie di colonne. Altre opzioni in questa finestra di dialogo, ad esempio il tipo di join o la configurazione corrispondente fuzzy, non rientrano nell'ambito di questo suggerimento.

Espandere o aggregare la nuova colonna della tabella unita

Dopo aver selezionato OK nella finestra di dialogo Unione , la tabella di base della query contiene tutte le colonne della tabella a sinistra. Viene inoltre aggiunta una nuova colonna con lo stesso nome della tabella corretta. Questa colonna contiene i valori corrispondenti alla tabella destra per riga per riga.

Da qui è possibile scegliere di espandere o aggregare i campi di questa nuova colonna di tabella, ovvero i campi della tabella destra.

Espandere il menu della colonna della tabella.

Nota

Attualmente, l'esperienza di Power Query Online fornisce solo l'operazione di espansione nella relativa interfaccia. L'opzione per l'aggregazione verrà aggiunta più tardi quest'anno.

Tipi di join

Un tipo di join specifica la modalità di esecuzione di un'operazione di merge. Nella tabella seguente vengono descritti i tipi di join disponibili in Power Query.

Tipo di joint Icon Descrizione
Sinistra esterna Tutte le righe della tabella a sinistra, corrispondenti alle righe della tabella a destra
Destra esterna Tutte le righe della tabella a destra, corrispondenti alle righe della tabella a sinistra
Full outer Tutte le righe di entrambe le tabelle
Interno Solo le righe corrispondenti di entrambe le tabelle
Anti sinistra Solo le righe della tabella sinistra
Anti destra Solo le righe della tabella destra

Corrispondenza fuzzy

È possibile usare l'unione fuzzy per applicare algoritmi di corrispondenza fuzzy durante il confronto delle colonne, per cercare di trovare corrispondenze tra le tabelle unite. È possibile abilitare questa funzionalità selezionando la casella di controllo Usa corrispondenza fuzzy per eseguire l'unione nella finestra di dialogo Unione . Espandere Opzioni di corrispondenza fuzzy per visualizzare tutte le configurazioni disponibili.

Nota

La corrispondenza fuzzy è supportata solo per le operazioni di unione sulle colonne di testo. Per altre informazioni, vedere Funzionamento della corrispondenza fuzzy in Power Query.