Vai al contenuto principale
Utilizzo del prefisso Crosstable

IN QUESTA PAGINA

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
Prodotto Jan 2014 Feb 2014 Mar 2014 Apr 2014 May 2014 Jun 2014
A 100 98 100 83 103 82
B 284 279 297 305 294 292
C 50 53 50 54 49 51

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
Product table with Product field, and one field each for the months.

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
Product table with Product, Month, and Sales fields.

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.

Procedere come indicato di seguito:

  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
    Product table with Product field, and one field each for the months.

  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
    Product table with Product, Month, and Sales fields.

    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
    Table showing data loaded using Crosstable prefix.

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

    Grafico a barre che mostra i dati caricati utilizzando il prefisso Crosstable
    Bar chart showing data loaded using the Crosstable prefix.

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 ... Finale: 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.