I tool Transpose e Cross Tab sembrano molto simili tra loro e hanno anche un comportamento analogo, tuttavia svolgono due compiti esattamente opposti. Entrambi gli strumenti permettono di cambiare l’orientamento di una tabella pivotando uno o più campi di essa, ma in cosa differiscono? E in cosa potrebbero tornarmi utili?
Transpose
Trasforma la tabella in modo da vedere delle righe in colonne, quindi da orizzontali a verticali. Questo tool è utile per l’estrazione di dati non conformi. Non ci sono limiti al numero di record o campi che possono essere trasposti.
Configurazione:
Il tool si trova nella sezione Transform.
Nella parte alta, Key Fields, selezioniamo i campi attorno ai quali vogliamo fare ruotare la tabella. Sono le colonne che restano così come sono, non si muovono, in pratica stiamo dicendo ribalta le righe in colonne, raggruppa per i Key Fields che ho scelto.
Dalla parte sotto, Data Fields, sono i campi che verranno materialmente ribaltati. Gli header, ovvero i titoli delle colonne che scegliamo, diventano righe, seguite dai relativi dati.
Nota bene: Ogni campo che scegli dei Key Fields, verrà moltiplicato verticalmente per il numero di record per ogni Data Fields che hai scelto.
Cosa succede se non seleziono nessun Key Fields? La tabella viene ribaltata interamente, e mi ritrovo solo 2 colonne, Name con gli header e Value coi i valori.
Esempio
Abbiamo questa tabella.
Stato | Gen | Feb | Mar | Apr |
Italia | 50 | 58 | 65 | 87 |
Svizzera | 22 | 25 | 51 | 48 |
Noi vogliamo tenere Stato fisso, e ribaltare invece i mesi, in modo da poterla usare più facilmente in Tableau. Avremo quindi Stato, che spezza la visualizzazione, Names, che saranno i mesi, e Values dove ci saranno i valori. Come fare?
Key Field: Stato
Data fields: Gen, Feb, Mar, Apr
Risultato:
Stato | Names | Values |
Italia | Gen | 50 |
Italia | Feb | 58 |
Italia | Mar | 65 |
Italia | Apr | 87 |
Svizzera | Gen | 22 |
Svizzera | Feb | 25 |
Svizzera | Mar | 51 |
Svizzera | Apr | 48 |
Cross Tab
Trasforma la tabella in modo da vedere delle colonne in righe, quindi da verticali a orizzontali, raggruppando i dati. Non ci sono limiti al numero di record o campi che possono essere utilizzati per questo tool.
Configurazione:
Il tool si trova nella sezione Transform.
1 Nella prima parte, Group Data, scegliamo i campi che ci interessa raggruppare. Questo processo combina i record del database che hanno valori identici in un campo specifico, in un solo record. Il risultato finale viene poi raggruppato.
2 Due menu a tendina. Il primo è quello per gli Header. Questi sono i campi che appariranno attraverso l’asse orizzontale della nuova tabella. Una nuova colonna viene creata per ogni valore unico presente.
Dal secondo invece scegliamo i valori (Values) che andranno a popolare le nuove colonne.
3 Select method for Aggregation Values. Per combinare valori molteplici in un campo. I metodi si differiscono per la tipologia del campo che abbiamo scelto nel menu a tendina sovrastante, quello dei Values.
Esempio:
Abbiamo una tabella di questo genere e vogliamo creare una colonna per ogni mese (da colonna a riga)
Stato | Mesi | Vendite |
Italia | Gen | 50 |
Italia | Feb | 58 |
Italia | Mar | 65 |
Italia | Apr | 87 |
Svizzera | Gen | 22 |
Svizzera | Feb | 25 |
Svizzera | Mar | 51 |
Svizzera | Apr | 48 |
Facciamo Group by Stato.
Come New Columns Header: Mesi
Come Values for new Columns: Vendite
Nella sezione aggregation ci verranno proposte degli operatori matematici perché abbiamo scelto come Value dei numeri, ma in questo caso ogni singola cella ha una sua collocazione, non ci sarà nessuna aggregazione da fare. Però siamo obbligati a sceglierne una (perché Alteryx non può saperlo a priori). Ne possiamo scegliere una a caso o quella che ci interessa.
Ora gli header, nomi colonne, saranno così:
Gen | Feb | Mar | Apr | |
E la tabella finale così
Stato | Gen | Feb | Mar | Apr |
Italia | 50 | 58 | 65 | 87 |
Svizzera | 22 | 25 | 51 | 48 |
E se non avessimo specificato Group By Stato? Ogni mese avrebbe avuto due valori, ad esempio 50 e 22 per Gennaio. Cosa fa Alteryx? Come inserisce 2 valori nella stessa cella? Li aggrega. Essendo numeri, avremo la possibilità di sommarli, di calcolarne la media o qualsiasi altra operazione tra quelle proposte. Se scegliamo ad esempio somma, la tabella finale sarà:
Gen | Feb | Mar | Apr | |
72 | 83 | 116 | 135 |
Grazie per la lettura e nella speranza che sia stato tutto chiaro, vi rimandiamo al nostro account Twitter, per dubbi, approfondimenti e domande varie @infolab