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 userà la tabella di esempio seguente.

Tabella iniziale di esempio.

Tabella con colonne che mostrano Year (2020), Country (USA, Panama o Canada), Product (Shirt o Shorts), Sales channel (Online or Reseller) e Units (vari valori compresi tra 55 e 7500)

Dove trovare il pulsante Raggruppa per

È possibile trovare il pulsante Raggruppa per in tre posizioni:

  • Nel gruppo Trasforma della scheda Home.

    Raggruppa per nella scheda Home.

  • Nel gruppo Tabella della scheda Trasforma.

    Raggruppa per nella scheda Trasforma.

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

    Raggruppa per 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. Si useranno le colonne Country e Sales Channel per eseguire il raggruppamento in base all'operazione.

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

Raggruppa per finestra di dialogo con colonne aggregate.

Questa operazione fornisce la tabella seguente.

Tabella di output di esempio con colonne Country, Sales Channel e Total units.

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
Sum Operazione colonna Somma tutti i valori di una colonna
Media Operazione colonna Calcola il valore medio da una colonna
Median Operazione colonna Calcola la median da una colonna
Min Operazione colonna Calcola il valore minimo da una colonna
Max Operazione colonna Calcola il valore massimo da una colonna
Percentile Operazione colonna Calcola il percentile, utilizzando un valore di input compreso tra 0 e 100, da una colonna
Conteggio valori distinct Operazione colonna Calcola il numero di valori distinti da una colonna
Count Operazione riga Calcola il numero totale di righe di un determinato gruppo
Conteggio righe distinte Operazione riga Calcola il numero di righe distinte da un determinato gruppo
Tutte le righe Operazione riga Restituisce tutte le righe raggruppate in un valore di tabella senza aggregazioni

Nota

Le operazioni Count distinct values e Percentile sono disponibili solo in Power Query Online.

Eseguire un'operazione per raggruppare una o più colonne

A partire dall'esempio originale, in questo esempio si creerà 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.

Tabella di output di esempio con operazioni.

  1. Usare le colonne seguenti come Raggruppa per colonne:

    • Country
    • Sales Channel
  2. Creare due nuove colonne seguendo questa procedura:

    1. Aggregare la colonna Units utilizzando l'operazione Sum . Denominare questa colonna Unità totali.
    2. Aggiungere una nuova colonna Products usando l'operazione Tutte le righe .

    Raggruppa per finestra di dialogo con una colonna non aggregata.

Al termine dell'operazione, notare come la colonna Products abbia valori [Table] all'interno di ogni cella. Ogni valore [Table] contiene tutte le righe raggruppate in base alle colonne Country e Sales Channel della 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.

Riquadro anteprima dettagli 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 visualizzare tutte le righe relative all'operazione group-by corrispondente.

Successivamente, è necessario estrarre la riga con il valore più alto nella colonna Units delle tabelle all'interno della nuova colonna Products e chiamare tale nuovo prodotto top performer colonna.

Estrarre le informazioni principali sul prodotto performer

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

Aggiungere una colonna personalizzata.

Assegnare alla nuova colonna il nome Top performer product. Immettere la formula Table.Max([Products], "Units" ) in Formula colonna personalizzata.

Formula di colonna personalizzata con Table.Max.

Il risultato della 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 per la colonna Units di ogni valore [Table] nella colonna Products .

Risultato della formula di colonna personalizzata con Table.Max.

Con questa nuova colonna prodotto Top performer contenente i valori [Record], è possibile selezionare l'iconaEspandere. di espansione, selezionare i campi Prodotto e Unità e quindi selezionare OK.

Espandere l'operazione per il valore del record nella colonna Prodotto top performer.

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

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.

Tabella con nove righe di voci che contengono varie ortografie e maiuscole del nome 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 delle librerie a raggruppare le istanze. L'immagine seguente mostra l'output previsto, in cui la tabella verrà raggruppata in base alla colonna Person .

Tabella che mostra le voci per Person come

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 , si seleziona la casella di controllo Usa raggruppamento fuzzy.

Casella di controllo Raggruppamento fuzzy nella finestra di dialogo Raggruppa per.

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

Tabella finale di raggruppamento fuzzy, nessuna tabella di trasformazione.

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

Opzioni del gruppo fuzzy.

Per il raggruppamento fuzzy sono disponibili le opzioni seguenti:

  • Soglia di somiglianza (facoltativa): questa opzione indica come devono essere raggruppati due valori simili. L'impostazione minima di 0 causerà il raggruppamento di tutti i valori. L'impostazione massima di 1 consentirà solo i valori che corrispondono esattamente a essere raggruppati. Il valore predefinito è 0.8.
  • Ignora maiuscole/minuscole: quando si confrontano stringhe di testo, le maiuscole/minuscole verranno ignorate. Per impostazione predefinita, questa opzione è attivata.
  • Raggruppare combinando parti di testo: l'algoritmo tenterà di combinare parti di testo (come la combinazione di 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 (facoltativo): è possibile selezionare una tabella di trasformazione che eseguirà il mapping dei valori (ad esempio il mapping di MSFT a Microsoft) per raggrupparli.

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

  • Da: stringa di testo da cercare nella tabella.
  • To: stringa di testo da utilizzare per sostituire la stringa di testo nella colonna From .

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

Tabella che mostra i valori From di mike e William e To di Miguel e Bill.

Importante

È importante che la tabella di trasformazione abbia gli stessi nomi di colonne e colonne come illustrato in precedenza (devono essere "Da" e "A"), altrimenti Power Query non li riconoscerà.

Tornare alla finestra di dialogo Raggruppa per, espandere Opzioni gruppo fuzzy, modificare l'operazione da Conteggio righe a Tutte le righe, abilitare l'opzione Mostra punteggi di somiglianza e quindi selezionare il menu a discesa Tabella trasformazione.

Menu a discesa Tabella di trasformazione raggruppamento fuzzy.

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

Tabella finale di raggruppamento fuzzy con tabella di trasformazione.

In questo esempio l'opzione Ignora maiuscole /minuscole è stata abilitata, pertanto i valori nella colonna From della tabella Transformation vengono usati per cercare la stringa di testo senza considerare la distinzione tra maiuscole e minuscole della stringa. 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 raggruppano in base a più colonne, la tabella di trasformazione esegue l'operazione di sostituzione in tutte le colonne se si sostituisce il valore aumenta il punteggio di somiglianza.

Vedi anche

Aggiungere una colonna personalizzata
Rimuovere i duplicati