Vai al contenuto principale Passa a contenuto complementare

Utilizzo del prefisso Crosstable

Le tabelle incrociate sono un tipo comune di tabella contenente una matrice di valori tra due elenchi ortogonali di dati di intestazione. Quando si hanno dei dati in tabelle incrociate, è possibile utilizzare il prefisso Crosstable per trasformare i dati e creare i campi desiderati.

Prefisso Crosstable

La tabella Product seguente presenta una colonna per mese e una riga per prodotto.

Tabella Product
ProdottoJan 2014Feb 2014Mar 2014Apr 2014May 2014Jun 2014
A100981008310382
B284279297305294292
C505350544951

Quando si carica la tabella, l'output sarà una tabella con un campo per Product e un campo per ciascun mese.

Tabella Product con il campo Product e un campo per ogni mese

Tabella Prodotto con il campo Prodotto e un campo per ogni mese.

L'analisi di questi dati risulterà più facile se tutti i numeri si trovano in un campo e tutti i mesi in un altro. In questo caso, si avrà una tabella a tre colonne con una colonna per ogni categoria (Product, Month, Sales).

Tabella Product con i campi Product, Month e Sales

Tabella Prodotto con i campi Prodotto, Mese e Vendite.

Il prefisso Crosstable converte i dati in una tabella con una colonna per Month e una colonna per Sales. Altrimenti detto, il prefisso converte i nomi di campo in valori di campo.

  1. Creare una nuova app e denominarla Advanced Scripting Tutorial.
  2. Aggiungere una nuova sezione dello script nell'editor caricamento dati.
  3. Denominare la sezione Product.
  4. Nel menu a destra, in DataFiles, fare clic su Seleziona dati.

  5. Caricare e selezionare Product.xlsx.
  6. Selezionare la tabella Product nella finestra Seleziona dati da.
  7. Nota di suggerimentoIn Nomi di campo assicurarsi che l'opzione Nomi di campo incorporati sia selezionata per includere i nomi dei campi delle tabelle quando si caricano i dati.
  8. Fare clic su Inserisci script.
  9. Lo script avrà questo aspetto:

    LOAD Product, "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014" FROM [lib://DataFiles/Product.xlsx] (ooxml, embedded labels, table is Product);

  10. Fare clic su Carica dati.
  11. Aprire il sistema di visualizzazione modello dati. Il modello dati ha l'aspetto seguente:
  12. Tabella Product con il campo Product e un campo per ogni mese

    Tabella Prodotto con il campo Prodotto e un campo per ogni mese.
  13. Fare clic sulla scheda Product nell'Editor caricamento dati.
  14. Sopra l'istruzione LOAD immettere quanto segue:
  15. CrossTable(Month, Sales)

  16. Fare clic su Carica dati.
  17. Aprire il sistema di visualizzazione modello dati. Il modello dati ha l'aspetto seguente:
  18. Tabella Product con i campi Product, Month e Sales

    Tabella Prodotto con i campi Prodotto, Mese e Vendite.

    Si noti che in generale, i dati di input presentano una sola colonna come campo qualificatore; come chiave interna (Product nell'esempio precedente). Tuttavia, è possibile inserire più colonne. In questo caso, tutti i campi di qualificazione devono essere inseriti nell'istruzione LOAD prima dei campi di attributo e il terzo parametro del prefisso Crosstable deve essere utilizzato per definire il numero di campi di qualificazione. Non è possibile inserire un'istruzione LOAD precedente o un prefisso davanti alla parola chiave Crosstable. È tuttavia possibile utilizzare la concatenazione automatica.

    In una tabella di Qlik Sense, i dati avranno l'aspetto seguente:

    In questa tabella vengono mostrati dati caricati utilizzando il prefisso Crosstable

    In questa tabella vengono mostrati dati caricati utilizzando il prefisso Crosstable.

    Ad esempio, ora è possibile creare un grafico a barre utilizzando i dati:

    Grafico a barre che mostra i dati caricati utilizzando il prefisso Crosstable

    Grafico a barre che mostra i dati caricati utilizzando il prefisso Crosstable.
Nota informaticaPer ulteriori informazioni su Crosstable, vedere questo post di blog in Qlik Community: The Crosstable Load. I comportamenti sono trattati nel contesto di QlikView. Tuttavia, la logica si applica anche a Qlik Sense.

Interpretazione numerica che non funzionerà per i campi di attributo. Ciò significa che se nelle intestazioni delle colonne sono stati inseriti i mesi, l'interpretazione non verrà eseguita automaticamente. La soluzione consiste nell'utilizzare il prefisso Crosstable per creare una tabella temporanea ed eseguire un secondo passaggio sui dati per creare le interpretazioni come mostrato nell'esempio seguente.

Questo rappresenta solo un esempio. Non sono disponibili esercizi accompagnatori da completare in Qlik Sense.

tmpData: Crosstable (MonthText, Sales) LOAD Product, [Jan 2014], [Feb 2014], [Mar 2014], [Apr 2014], [May 2014], [Jun 2014] FROM ... Final: LOAD Product, Date(Date#(MonthText,'MMM YYYY'),'MMM YYYY') as Month, Sales Resident tmpData; Drop Table tmpData;

Cancellazione della cache della memoria

È possibile eliminare le tabelle create per cancellare la cache della memoria. Quando il caricamento viene eseguito in una tabella temporanea, come nella sezione precedente, si consiglia di eliminarla se non è più necessaria. Ad esempio:

DROP TABLE Table1, Table2, Table3, Table4; DROP TABLES Table1, Table2, Table3, Table4;

È anche possibile eliminare campi. Ad esempio:

DROP FIELD Field1, Field2, Field3, Field4; DROP FIELDS Field1, Field2, Field3, Field4; DROP FIELD Field1 from Table1; DROP FIELDS Field1 from Table1;

Come si può notare, le parole chiave TABLE e FIELD possono essere singolari o plurali.

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 – facci sapere come possiamo migliorare!