UnPivot dei dati di una tabella incrociata in gestione dati
Una tabella incrociata è un tipo comune di tabella contenente una matrice di valori tra due elenchi ortogonali di dati di intestazione.
Generalmente non è il formato dati ottimale se si desidera associare i dati ad altre tabelle di dati. Questo argomento descrive come trasformare tramite UnPivot i dati caricati in una tabella incrociata, ossia trasporre parti dei dati in righe utilizzando gestione dati.
Le tabelle incrociate
Una tabella incrociata contiene colonne di qualifica, che devono essere lette in modo diretto, e una matrice di valori. In questo caso vi è una colonna di qualifica, Year, e una matrice di dati sulle vendite per mese.
Year | Jan | Feb | Mar | Apr | May | Jun |
---|---|---|---|---|---|---|
2008 | 45 | 65 | 78 | 12 | 78 | 22 |
2009 | 11 | 23 | 22 | 22 | 45 | 85 |
2010 | 65 | 56 | 22 | 79 | 12 | 56 |
2011 | 45 | 24 | 32 | 78 | 55 | 15 |
2012 | 45 | 56 | 35 | 78 | 68 | 82 |
Se la tabella viene semplicemente caricata in Qlik Sense, il risultato sarà un campo per Year e un campo per ciascun mese. In genere, ciò non corrisponde al risultato desiderato. È probabilmente preferibile generare tre campi:
- La colonna di qualifica, in questo caso Year, evidenziata in verde nella tabella precedente.
- Il campo attributo, che in questo caso è rappresentato dai nomi dei mesi Jan - Jun, evidenziato in giallo. Questo campo può essere giustamente denominato Month.
- Il campo dei dati, evidenziato in blu. In questo caso contiene i dati sulle vendite, quindi può essere denominato Sales.
Per ottenere questo risultato si può utilizzare l'opzione di UnPivot nell'editor tabelle di gestione dati, selezionando i campi Jan - Jun. Verrà creata la tabella seguente:
Year | Month | Sales |
---|---|---|
2008 | Jan | 45 |
2008 | Feb | 65 |
2008 | Mar | 78 |
2008 | Apr | 12 |
2008 | May | 78 |
2008 | Jun | 22 |
2009 | Jan | 11 |
2009 | Feb | 23 |
... | ... | ... |
Trasformazione tramite UnPivot di una tabella incrociata in una tabella flat
Procedere come indicato di seguito:
- Aggiungere all'app un file di dati in formato tabella incrociata.
- Fare clic su nella tabella in gestione dati per aprire l'editor tabelle.
- Fare clic su Trasforma tramite UnPivot.
-
Selezionare i campi da trasporre in righe. È necessario avere almeno un campo di qualifica al quale non viene applicato l'UnPivot. Vi sono due modi per effettuare le selezioni.
- Fare clic sulle intestazioni dei campi da trasporre. Non selezionare i campi da mantenere come campi di qualifica.
- Fare clic sulle intestazioni dei campi da mantenere come campi di qualifica, quindi selezionare Inverti selezioni dal menu del campo. Questo è il modo più facile per procedere se si ha un gran numero di campi da trasporre.
-
Fare clic su Applica UnPivot
I dati selezionati verranno trasposti in righe con due campi, Tablename.Campo attributo e Tablename.Campo Dati.
- Cambiare Campo attributo in un nome significativo, nell'esempio precedente Month.
- Cambiare Campo dati in un nome significativo, nell'esempio precedente Sales.
È stato così eseguito l'UnPivot della tabella incrociata in un formato flat, che renderà più facile l'associazione ad altri dati nell'app.
Ripristino della tabella incrociata originale
È possibile ripristinare il formato originale della tabella incrociata della sorgente dati facendo clic su Annulla UnPivot nell'editor tabelle. Se sono state create associazioni ad altri dati nell'app, queste verranno eliminate.