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.
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.
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.
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.
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 .
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.
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.
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.