Vai al contenuto principale Passa a contenuto complementare

Utilizzo delle tabelle incrociate nello script di caricamento dei 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 una tabella incrociata, ossia trasporne parti in righe, utilizzando il prefisso crosstable per un'istruzione LOAD nello script di caricamento dei dati.

UnPivot di una tabella incrociata con una colonna di qualifica

Una tabella incrociata è spesso preceduta da un certo numero di colonne di qualifica, che devono essere lette in modo diretto. In questo caso vi è una colonna di qualifica, Year, e una matrice di dati sulle vendite per mese.

Tabella incrociata con una colonna di qualifica
YearJanFebMarAprMayJun
2008456578127822
2009112322224585
2010655622791256
2011452432785515
2012455635786882

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.
  • I valori della matrice dei dati, evidenziati in blu. In questo caso contiene i dati sulle vendite, quindi può essere denominato Sales.

Ciò può essere ottenuto aggiungendo al prefisso crosstable l'istruzione LOAD o SELECT, ad esempio:

crosstable (Month, Sales) LOAD * from ex1.xlsx;

Ciò crea la seguente tabella in Qlik Sense:

Tabella con prefisso crosstable aggiunto all'istruzione LOAD o SELECT
YearMonthSales
2008Gen45
2008Feb65
2008Mar78
2008Apr12
2008Maggio78
2008Giu22
2009Gen11
2009Feb23
.........

UnPivot di una tabella incrociata con due colonne di qualifica

In questo caso vi sono due colonne di qualifica a sinistra, seguite dalle colonne della matrice.

Tabella incrociata con due colonne di qualifica
SalesmanYearJanFebMarAprMayJun
Una2008456578127822
Una2009112322224585
Una2010655622791256
Una2011452432785515
Una2012455635786882
B2008577790249034
B2009233534345797
B2010776834912468
B2011573644906727
B2012576847908094

Il numero di colonne di qualifica può essere indicato come il terzo parametro del prefisso crosstable come segue:

crosstable (Month, Sales, 2) LOAD * from ex2.xlsx;

Questo crea il seguente risultato in Qlik Sense:

Tabella con colonne di qualifica indicate come terzo parametro del prefisso crosstable
VenditoreYearMonthSales
Una2008Gen45
Una2008Feb65
Una2008Mar78
Una2008Apr12
Una2008Maggio78
Una2008Giu22
Una2009Gen11
Una2009Feb23
............

Ulteriori informazioni

 

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – ti pregiamo di farcelo sapere!