Trasformare colonne tramite Pivot
In Power Query è possibile creare una tabella contenente un valore aggregato per ogni valore univoco in una colonna. Power Query raggruppa ogni valore univoco, esegue un calcolo aggregato per ogni valore e inserisce la colonna in una nuova tabella.
Diagramma che mostra una tabella a sinistra con una colonna e righe vuote. Una colonna Attributes contiene nove righe con A1, A2 e A3 ripetute tre volte. Una colonna Values contiene, dall'alto verso il basso, i valori da V1 a V9. Con i pivot delle colonne, una tabella a destra contiene una colonna e righe vuote, i valori attributi A1, A2 e A3 come intestazioni di colonna, con la colonna A1 contenente i valori V1, V4 e V7, la colonna A2 contenente i valori V2, V5 e V8 e la colonna A3 contenente i valori V3, V6 e V9.
Si immagini una tabella come quella nell'immagine seguente.
Tabella contenente un set di colonne Country come tipo di dati Text, una colonna Date impostata come tipo di dati Data e una colonna Valore impostata come tipo di dati Numero intero. La colonna Country contiene stati Uniti nelle prime tre righe, Canada nelle tre righe successive e Panama nelle ultime tre righe. La colonna Date contiene una data nella prima, nella quarta e nella settima riga, una seconda data nella seconda, nella quinta e nell'ottava riga e la terza data nella terza, sesta e nona riga.
Questa tabella contiene valori per paese e data in una tabella semplice. In questo esempio si vuole trasformare questa tabella in quella in cui la colonna di data viene votata tramite pivot, come illustrato nell'immagine seguente.
Tabella contenente un set di colonne Country nel tipo di dati Text e una prima, seconda e terza colonna data impostata come tipo di dati Numero intero. La colonna Country contiene il Canada nella riga 1, Panama nella riga 2 e stati Uniti nella riga 3.
Nota
Durante l'operazione sulle colonne pivot, Power Query ordina la tabella in base ai valori trovati nella prima colonna, sul lato sinistro della tabella, in ordine crescente.
Per eseguire il pivot di una colonna
Selezionare la colonna da pivot. In questo esempio selezionare la colonna Data .
Nella scheda Trasforma del gruppo Qualsiasi colonna selezionare colonna Pivot.
Nella finestra di dialogo Colonna pivot selezionare Valore nell'elenco Colonna valore.
Per impostazione predefinita, Power Query tenta di eseguire una somma come aggregazione, ma è possibile selezionare l'opzione Avanzate per visualizzare altre aggregazioni disponibili.
Le opzioni disponibili sono:
- Non aggregare
- Conteggio (tutti)
- Conteggio (non vuoto)
- Minimo
- Massimo
- Median
- Sum
- Media
È possibile eseguire il pivot delle colonne senza aggregare quando si utilizzano colonne che non possono essere aggregate oppure l'aggregazione non è necessaria per le operazioni che si sta tentando di eseguire. Si supponga, ad esempio, che una tabella come l'immagine seguente contenga campi Country, Position e Product .
Tabella con colonna Country contenente STATI UNITI nelle prime tre righe, Canada nelle tre righe successive e Panama nelle ultime tre righe. La colonna Position contiene First Place nelle prime, quarta e settima riga, Second Place nella seconda, quinta e ottava riga e terza posizione nella terza, sesta e nona riga.
Si supponga di voler pivotare la colonna Position in questa tabella in modo da poterne avere i valori come nuove colonne. Per i valori di queste nuove colonne, usare i valori della colonna Product . Selezionare la colonna Position (Posizione ) e quindi selezionare Pivot column (Colonna pivot) per eseguire il pivot della colonna.
Nella finestra di dialogo Colonna pivot selezionare la colonna Product come colonna valore. Selezionare il pulsante Di opzione Avanzate nella finestra di dialogo Colonne pivot e quindi selezionare Non aggregare.
Il risultato di questa operazione restituisce il risultato illustrato nell'immagine seguente.
Tabella contenente le colonne Country, First Place, Second Place e Third Place, con la colonna Country contenente Il Canada nella riga 1, Panama nella riga 2 e USA nella riga 3.
Il funzionamento dell'opzione Don't aggregate consiste nel fatto che afferra un singolo valore per l'operazione pivot da posizionare come valore per l'intersezione della coppia di colonne e righe. Si supponga, ad esempio, di avere una tabella come quella nell'immagine seguente.
Tabella con colonne Country, Date e Value. La colonna Country contiene stati Uniti nelle prime tre righe, Canada nelle tre righe successive e Panama nelle ultime tre righe. La colonna Date contiene una singola data in tutte le righe. La colonna value contiene vari numeri interi compresi tra 20 e 785.
Si vuole pivot per tale tabella usando la colonna Date e si desidera utilizzare i valori della colonna Valore . Poiché questo pivot rende la tabella avere solo i valori Country per le righe e le date come colonne, viene visualizzato un errore per ogni singolo valore di cella perché sono presenti più righe per ogni combinazione di Country e Date. Il risultato di questa operazione di colonna pivot restituisce i risultati mostrati nell'immagine seguente.
Si noti il messaggio di errore "Expression.Error: Nell'enumerazione sono presenti troppi elementi per completare l'operazione". Questo errore si verifica perché l'operazione Non aggregare prevede solo un singolo valore per la combinazione di paese e data.