Condividi tramite


Raggruppamento o riepilogo di righe

In Power Query è possibile raggruppare i valori in varie righe in un singolo valore raggruppando le righe in base ai valori in una o più colonne. È possibile scegliere tra due tipi di operazioni di raggruppamento:

  • Raggruppamenti di colonne.

  • Raggruppamenti di righe.

Per questa esercitazione si usa la tabella di esempio seguente.

tabella iniziale di esempio.

Screenshot di una tabella con colonne che mostrano Anno (2020), Paese (USA, Panama o Canada), Prodotto (Camicia o Pantaloncini), Canale di vendita (Online o Rivenditore) e Unità (vari valori compresi tra 55 e 7500)

Dove trovare il pulsante Raggruppa per

È possibile trovare il pulsante Group by in tre posizioni:

  • Nella scheda Home, nel gruppo Trasforma.

    Screenshot della barra multifunzione di Power Query con l'opzione Raggruppa per evidenziata nella scheda Home.

  • Nella scheda Trasforma, nel gruppo Tabella.

    Screenshot della barra multifunzione di Power Query con l'opzione Raggruppa per evidenziata nella scheda Trasforma.

  • Nel menu di scelta rapida, quando si fa clic con il pulsante destro del mouse per selezionare le colonne.

    Screenshot di una tabella con l'opzione Raggruppa per evidenziata nel menu di scelta rapida.

Usare una funzione di aggregazione per raggruppare una o più colonne

In questo esempio l'obiettivo è quello di riepilogare le unità totali vendute a livello di paese e canale di vendita. Per eseguire l'operazione group by, usare le colonne Country e Sales Channel.

  1. Selezionare Raggruppa per nella scheda Home.
  2. Selezionare l'opzione avanzata, per selezionare più colonne da raggruppare.
  3. Selezionare la colonna Country.
  4. Selezionare Aggiungi raggruppamento.
  5. Selezionare la colonna Canale di vendite.
  6. In Nuovo nome colonna, immettere Unità totali, in Operazione, selezionare Somma, e in Colonna, selezionare Unità.
  7. Selezionare OK

Screenshot della finestra di dialogo Raggruppa per con le colonne aggregate compilate.

Questa operazione fornisce la tabella seguente.

Screenshot della tabella di esempio con le colonne Paese, Canale di Vendita e Unità Totali.

Operazioni disponibili

Con la funzionalità Group by, le operazioni disponibili possono essere suddivise in due modi:

  • Operazione a livello di riga
  • Operazione a livello di colonna

Nella tabella seguente vengono descritte ognuna di queste operazioni.

Nome operazione Categoria Descrizione
somma Operazione sulla colonna Somma tutti i valori di una colonna
Medio Operazione della colonna Calcola il valore medio da una colonna
Mediano Operazione colonna Calcola la mediana da una colonna
Minuti Operazione sulla colonna Calcola il valore minimo da una colonna
Max Operazione sulla colonna Calcola il valore massimo da una colonna
percentile Operazioni di colonna Calcola il percentile, utilizzando un valore di input compreso tra 0 e 100, da una colonna
Conteggio valori distinti Operazione colonna Calcola il numero di valori unici in una colonna
Conteggio righe Operazione sulla riga Calcola il numero totale di righe di un determinato gruppo
Conta righe distinte Operazione sulle righe Calcola il numero di righe distinte in un determinato gruppo
Tutte le righe Operazione su riga Restituisce tutte le righe raggruppate in un valore di tabella senza aggregazioni

Nota

Le operazioni di conteggio di valori distinti e di calcolo del Percentile sono disponibili solo in Power Query Online.

Eseguire un'operazione di raggruppamento in base a una o più colonne

A partire dall'esempio originale, in questo esempio si crea una colonna contenente le unità totali e due altre colonne che forniscono il nome e le unità vendute per il prodotto con prestazioni migliori, riepilogate a livello di paese e canale di vendita.

Screenshot della tabella di output di esempio con operazioni.

  1. Usare le seguenti colonne come colonne , raggruppare per colonne.

    • Paese
    • Canale di vendita
  2. Creare due nuove colonne seguendo questa procedura:

    1. Aggregare la colonna Unità utilizzando l'operazione di somma . Assegnare alla colonna il nome Unità totali.
    2. Aggiungere una nuova colonna Products utilizzando l'operazione Tutte le righe.

    Screenshot della finestra di dialogo Raggruppa per con una colonna non aggregata.

Al termine dell'operazione, osserva come la colonna Products abbia valori [Table] all'interno di ogni cella. Ogni valore [Table] contiene tutte le righe che sono state raggruppate dalle colonne Country e Sales Channel della tua tabella originale. È possibile selezionare lo spazio vuoto all'interno della cella per visualizzare un'anteprima del contenuto della tabella nella parte inferiore della finestra di dialogo.

Screenshot del riquadro di anteprima dei dettagli della tabella.

Nota

Il riquadro di anteprima dei dettagli potrebbe non visualizzare tutte le righe usate per l'operazione group-by. È possibile selezionare il valore [Tabella] per vedere tutte le righe relative all'operazione di raggruppamento corrispondente.

Successivamente, è necessario estrarre la riga con il valore più alto nella colonna Unità delle tabelle all'interno della nuova colonna Products e chiamare questa nuova colonna Top performer product.

Estrarre le informazioni sul prodotto più performante

Con la nuova colonna Products con i valori [Tabella], puoi creare una nuova colonna personalizzata passando alla scheda Aggiungi colonna sulla barra multifunzione e selezionando Colonna personalizzata dal gruppo Generale.

Screenshot della barra multifunzione di Power Query con l'opzione Colonna personalizzata evidenziata nella scheda Aggiungi colonna.

Denominare la nuova colonna prodotto Top performer. Immettere la formula nella colonna personalizzata formuladi .

Screenshot della finestra di dialogo Colonna personalizzata con la formula per Table.Max immessa.

Il risultato di quella formula crea una nuova colonna con valori [Record]. Questi valori di record sono essenzialmente una tabella con una sola riga. Questi record contengono la riga con il valore massimo nella colonna unità per ogni valore [Table] nella colonna Products.

Screenshot del risultato della formula di colonna personalizzata con Table.Max.

Con questa nuova colonna prodotto top performer contenente i valori [Record], puoi selezionare l'icona di espansione , selezionare i campi Product e Units e quindi selezionare OK.

Screenshot dell'operazione di espansione per il valore del record nella colonna del prodotto con miglior rendimento.

Dopo aver rimosso la colonna Products e aver impostato il tipo di dati per le colonne appena espanse entrambe, il risultato sarà simile all'immagine seguente.

Screenshot della tabella finale con tutte le trasformazioni.

Raggruppamento fuzzy

Nota

La funzionalità seguente è disponibile solo in Power Query Online.

Per illustrare come eseguire il raggruppamento fuzzy, considerare la tabella di esempio illustrata nell'immagine seguente.

Screenshot di una tabella con nove righe di voci che contengono varie ortografie e maiuscole dei nomi Miguel e William.

L'obiettivo del raggruppamento fuzzy è eseguire un'operazione group-by che usa un algoritmo di corrispondenza approssimativo per le stringhe di testo. Power Query usa l'algoritmo di somiglianza Jaccard per misurare la somiglianza tra coppie di istanze. Applica quindi il clustering gerarchico agglomerativo per raggruppare le istanze. L'immagine seguente mostra l'output previsto, in cui la tabella è raggruppata in base alla colonna Persona.

Screenshot di una tabella che mostra le voci per Person come Miguel e Mike e Frequency rispettivamente come 3 e 2.

Per eseguire il raggruppamento fuzzy, eseguire gli stessi passaggi descritti in precedenza in questo articolo. L'unica differenza è che questa volta, nella finestra di dialogo Raggruppa per, dovete selezionare la casella di controllo Usa raggruppamento fuzzy.

Screenshot della casella di controllo

Per ogni gruppo di righe, Power Query seleziona l'istanza più frequente come istanza "canonica". Se si verificano più istanze con la stessa frequenza, Power Query seleziona la prima. Dopo aver selezionato OK nella finestra di dialogo Raggruppa per, otterrai il risultato previsto.

Screenshot della tabella finale del raggruppamento fuzzy, senza alcuna tabella di trasformazione.

Tuttavia, si ha maggiore controllo sull'operazione di raggruppamento fuzzy espandendo opzioni di gruppo Fuzzy.

Screenshot della finestra di dialogo Raggruppa per con le opzioni del gruppo Fuzzy evidenziate.

Per il raggruppamento fuzzy sono disponibili le opzioni seguenti:

  • soglia di somiglianza (facoltativo): questa opzione indica come devono essere raggruppati due valori simili. L'impostazione minima di zero (0) determina il raggruppamento di tutti i valori. L'impostazione massima di 1 consente di raggruppare solo i valori che corrispondono esattamente. Il valore predefinito è 0.8.
  • Ignora maiuscole/minuscole: Quando vengono confrontate le stringhe di testo, le maiuscole/minuscole vengono ignorate. Questa opzione è abilitata per impostazione predefinita.
  • Raggruppa combinando parti di testo: l'algoritmo tenta di combinare parti di testo (ad esempio combinando Micro e soft in Microsoft) per raggruppare i valori.
  • Mostra punteggi di somiglianza: mostra punteggi di somiglianza tra i valori di input e i valori rappresentativi calcolati dopo il raggruppamento fuzzy. Richiede l'aggiunta di un'operazione, ad esempio Tutte le righe per presentare queste informazioni a livello di riga per riga.
  • Tabella di trasformazione (facoltativa): È possibile selezionare una tabella di trasformazione che mappa i valori (ad esempio, mappatura MSFT a Microsoft) per raggrupparli.

Per questo esempio viene usata una tabella di trasformazione per illustrare come è possibile eseguire il mapping dei valori. La tabella di trasformazione ha due colonne:

  • Da: La stringa di testo da cercare nella tua tabella.
  • A: la stringa di testo da utilizzare per sostituire la stringa di testo nella colonna Da.

L'immagine seguente mostra la tabella di trasformazione usata in questo esempio.

Screenshot della tabella che mostra i valori From di mike e William e To di Miguel e Bill.

Importante

È importante che la tabella di trasformazione abbia le stesse colonne e gli stessi nomi delle colonne, come illustrato nell'immagine precedente (devono essere etichettate come "Da" e "A"). In caso contrario, Power Query non riconosce la tabella come tabella di trasformazione.

Tornare alla finestra di dialogo Raggruppa per , espandere le opzioni del gruppo , modificare l'operazione da Conta righe a Tutte le righe, abilitare l'opzione Mostra punteggi di similarità, quindi selezionare il menu a discesa tabella di trasformazione .

Screenshot del menu a discesa per la trasformazione della tabella del raggruppamento fuzzy.

Dopo aver selezionato la tabella di trasformazione, selezionare OK. Il risultato di tale operazione fornisce le informazioni seguenti:

Screenshot della tabella finale di raggruppamento fuzzy con la tabella trasformazione.

In questo esempio, l'opzione Ignora maiuscole e minuscole è stata abilitata, pertanto i valori nella colonna From della tabella di trasformazione vengono usati per cercare la stringa di testo senza considerare la distinzione tra maiuscole e minuscole. Questa operazione di trasformazione viene eseguita per prima e quindi viene eseguita l'operazione di raggruppamento fuzzy.

Il punteggio di somiglianza viene visualizzato anche nel valore della tabella accanto alla colonna person, che riflette esattamente il modo in cui i valori sono stati raggruppati e i rispettivi punteggi di somiglianza. È possibile espandere questa colonna, se necessario o usare i valori delle nuove colonne Frequency per altri tipi di trasformazioni.

Nota

Quando si raggruppa in base a più colonne, la tabella di trasformazione esegue l'operazione di sostituzione in tutte le colonne se la sostituzione del valore aumenta il punteggio di somiglianza.

Per ulteriori informazioni sul funzionamento delle tabelle di trasformazione, vedere Precetti delle tabelle di trasformazione.

Vedere anche

Aggiungere una colonna personalizzata
Rimuovere i duplicati