Informazioni sulla sintassi dello script e sulle strutture dei dati

Estrazione, trasformazione e caricamento

In generale, il modo in cui si caricano i dati nell'app può essere spiegato mediante il processo di estrazione, trasformazione e caricamento:

  • Estrazione

    Il primo passo è l'estrazione di dati dal sistema della sorgente dati. Per definire questa operazione in uno script, si utilizzano le istruzioni SELECT o LOAD. Le differenze tra queste istruzioni sono:

    • SELECT viene utilizzata per selezionare dati da una sorgente dati ODBC o da un provider OLE DB. L'istruzione SQL SELECT viene valutata dal provider di dati, non da Qlik Sense.
    • LOAD viene utilizzata per caricare dati da un file, da dati definiti nello script, da una tabella caricata in precedenza, da una pagina Web, dal risultato di un'istruzione SELECT successiva o mediante la generazione automatica di dati.
  • Trasformazione

    La fase della trasformazione implica la manipolazione dei dati utilizzando le regole e le funzioni di script per ottenere la struttura del modello dati desiderata. Le tipiche operazioni sono:

    • Calcolo di nuovi valori
    • Conversione di valori codificati
    • Ridenominazione dei campi
    • Unione di tabelle
    • Aggregazione di valori
    • Pivoting
    • Convalida di dati
  • Caricamento

    Nel passaggio finale viene eseguito lo script per caricare il modello dati definito nell'app.

L'obiettivo dovrebbe essere creare un modello dati che consenta una gestione efficiente dei dati in Qlik Sense. Di solito questo significa che si deve mirare a uno schema a fiocco di neve o a uno schema a stella ragionevolmente normalizzato senza alcun riferimento circolare, ossia, a un modello in cui ciascuna entità viene mantenuta in una tabella separata. In altre parole, un tipico modello dati è simile al seguente:

  • Una tabella dei fatti centrale contenente le chiavi per le dimensioni e i numeri utilizzati per calcolare le misure (ad esempio numero di unità, importi delle vendite e importi di budget).
  • Tabelle circostanti contenenti le dimensioni con tutti i relativi attributi (ad esempio prodotti, clienti, categorie, calendario e fornitori).
Nota: In molti casi è possibile risolvere un'attività, ad esempio le aggregazioni, mediante la creazione di un modello dati più ricco nello script Load o mediante l'esecuzione delle aggregazioni nelle espressioni per grafici. Come regola generale, si avranno prestazioni migliori se si mantengono le trasformazioni dei dati nello script Load.
Suggerimento: Si consiglia di fare uno schizzo del modello dati su carta. Ciò sarà utile perché fornirà la struttura per i dati da estrarre e le trasformazioni da eseguire.

Istruzioni di caricamento dei dati

I dati vengono caricati tramite le istruzioni LOAD o SELECT. Ciascuna di queste istruzioni genera una tabella interna. Una tabella può sempre essere considerata come un elenco di elementi; ogni record (riga) è una nuova istanza del tipo di oggetto e ogni campo (colonna) è un attributo specifico o proprietà dell'oggetto.

Le differenze tra queste istruzioni sono:

  • SELECT viene utilizzata per selezionare dati da una sorgente dati ODBC o da un provider OLE DB. L'istruzione SQL SELECT viene valutata dal provider di dati, non da Qlik Sense.
  • LOAD viene utilizzata per caricare dati da un file, da dati definiti nello script, da una tabella caricata in precedenza, da una pagina Web, dal risultato di un'istruzione SELECT successiva o mediante la generazione automatica di dati.

Regole

Durante il caricamento dei dati in Qlik Sense, vengono applicate le seguenti regole:

  • Qlik Sense non fa distinzione fra tabelle generate da un'istruzione LOAD o SELECT. Quindi, se vengono caricate più tabelle, non ha alcuna importanza se il caricamento viene eseguito da un'istruzione LOAD, da un'istruzione SELECT o da una combinazione delle due.
  • L'ordine dei campi nell'istruzione o nella tabella originale nel database è arbitrario per la logica di Qlik Sense.
  • I nomi dei campi sono utilizzati nella procedura successiva per identificare i campi e per effettuare associazioni. Questi nomi sono soggetti alla distinzione tra maiuscole e minuscole, il che spesso rende necessario dover assegnare nuovi nomi ai campi nello script.

Esecuzione dello script

Generalmente, in un'istruzione LOAD o SELECT, l'ordine degli eventi è approssimativamente il seguente:

  1. Valutazione delle espressioni
  2. Ridenominazione dei campi mediante as
  3. Ridenominazione dei campi mediante alias
  4. Qualificazione dei nomi di campo
  5. Mapping dei dati se il nome di campo coincide
  6. Salvataggio dei dati in una tabella interna