Procedura consigliata per la modellazione dati

In questa sezione vengono descritti molti modi differenti in cui è possibile caricare i dati nell'app Qlik Sense a seconda di come i dati sono strutturati e di quale modello dati si desidera ottenere.

Trasformazione delle colonne di dati in righe

I dati hanno probabilmente il seguente aspetto e si desidera disporre le cifre relative alle vendite in un campo separato:

Tabella di dati originale
Anno Q1 Q2 Q3 Q4
2013 34 54 53 52
2014 47 56 65 67
2015 57 56 63 71

Proposed action  

Utilizzare il prefisso Crosstable quando si carica la tabella.

Il risultato sarà simile al seguente:

Tabella dopo l'applicazione del prefisso Crosstable
Year Quarter Sales
2013 Q1 34
2013 Q2 54
2013 Q3 53
2013 Q4 52
2014 Q1 47
... ... ...

Per ulteriori informazioni sui prefissi crosstable, vedere Utilizzo delle tabelle incrociate nello script di caricamento dei dati e Crosstable.

Trasformazione delle righe di dati in campi

Si dispone di una tabella generica con tre campi simili al seguente e si desidera inserire ogni singolo attributo in una tabella separata:

Tabella generica con tre campi
Object Attribute Value
ball color red
ball diameter 25
ball weight 3
box color 56
box height 30
box length 20
box width 25

Proposed action  

Creare un modello dati generico utilizzando il prefisso di caricamento Generic.

Si otterrà un modello dati simile al seguente:

Generic data model.

Per ulteriori informazioni sui dati generici, vedere Database generici e Generic.

Caricamento dei dati organizzati in livelli gerarchici, ad esempio lo schema di un'organizzazione

I dati memorizzati in una tabella di nodi adiacenti avranno il seguente aspetto:

Tabella di nodi adiacenti
NodeID ParentNodeID Title
1 - General manager
2 1 Country manager
3 2 Region manager

Proposed action  

Caricare i dati con il prefisso Hierarchy per creare una tabella di nodi espansi:

Tabella di nodi espansi
NodeID ParentNodeID Title Level1 Level2 Level3
1 - General manager General manager - -
2 1 Country manager General manager Country manager -
3 2 Region manager General manager Country manager Region manager

Per ulteriori informazioni sui livelli gerarchici, vedere Caricamento dei dati gerarchici e Hierarchy.

Caricamento solo dei record nuovi o aggiornati da un database di grandi dimensioni

Si dispone di un database contenente un numero elevato di record e non si desidera ricaricarlo interamente per aggiornare i dati nell'app. Si desidera caricare solo i record nuovi o aggiornati e rimuovere i record eliminati dal database.

Proposed action  

Implementare una soluzione di caricamento incrementale utilizzando i file QVD.

Per ulteriori informazioni, vedere Caricamento di record nuovi e aggiornati mediante il carico incrementale.

Unione dei dati di due tabelle con un campo comune

Qlik Sense associa automaticamente le tabelle con un campo comune, ma si desidera controllare il modo in cui queste vengono unite.

Proposed action : Join / Keep

È possibile unire due tabelle in una singola tabella interna utilizzando i prefissi Join o Keep.

Per ulteriori informazioni, vedere Combinazione di tabelle con Join e Keep.

Proposed action : Mapping

Un'alternativa all'unione di tabelle è l'utilizzo del mapping, il quale rende automatica la ricerca di valori associati in una tabella di mapping. Questa soluzione può ridurre la quantità di dati da caricare.

Per ulteriori informazioni, vedere Utilizzo del mapping come alternativa all'unione.

Corrispondenza di un valore discreto con un intervallo

Si dispone di una tabella di valori numerici discreti (Event) e si desidera farla corrispondere a uno o più intervalli (Start e End).

Tabella di valori numerici discreti (Event)
Time Event Commento
00:00 0 Start of shift 1
01:18 1 Line stop
02:23 2 Line restart 50%
04:15 3 Line speed 100%
08:00 4 Start of shift 2
11:43 5 End or production
Tabella con intervalli (Start e End)
Inizio End Order
01:00 03:35 A
02:30 07:58 B
03:04 10:27 C
07:23 11:43 D

Proposed action  

Utilizzare il prefisso IntervalMatch per collegare il campo Time con l'intervallo definito da Start e End.

Per ulteriori informazioni, vedere Corrispondenza tra intervalli e dati discreti.

Se l'intervallo non è definito in modo esplicito con l'inizio e la fine, ma solo con un'indicazione temporale della modifica come nella tabella seguente, è necessario creare una tabella con intervallo.

Tabella con un'indicazione data e ora di modifica
Currency Change Data Rate
EUR - 8.59
EUR 28/01/2013 8.69
EUR 15/02/2013 8.45
USD - 6.50
USD 10/01/2013 6.56
USD 03/02/2013 6.30

Per ulteriori informazioni, vedere Creazione di un intervallo di date da una data singola.

Gestione di valori di campo non coerenti

I dati contengono valori di campo che non sono denominati in modo coerente in tabelle differenti. Ad esempio, una tabella contiene il valore US in Country, mentre un'altra tabella contiene il valore United States. Questa situazione impedirà le associazioni.

Tabella 1
Country Regione
US Maryland
US Idaho
US New York
US California
Table 2
Country Population
United States 304
Japan 128
Brazil 192
China 1333

Proposed action  

Eseguire la pulizia dei dati mediante una tabella di mapping che confronti i valori di campo e consenta le associazioni corrette.

Per ulteriori informazioni, vedere Pulizia dei dati.

Gestione dell'utilizzo incoerente di maiuscole/minuscole nei valori di campo

I dati contengono valori di campo che non sono formattati in modo coerente in tabelle differenti. Ad esempio, una tabella contiene il valore single in Type, mentre un'altra contiene, nello stesso campo, il valore Single. Questa situazione impedirà le associazioni, in quanto il campo Type conterrà entrambi i valori single e Single e l'utilizzo delle maiuscole/minuscole influenza il risultato ottenuto.

Tabella 1
Tipo Price
single 23
double 39
Tabella 2
Tipo Colore
Singolo Rosso
Singolo Blu
Doppio Bianco
Doppio Nero

Proposed action  

Se si sono caricati i dati con Aggiungi dati, è possibile correggere il problema in Gestione dati.

Procedere come indicato di seguito:

  1. In Gestione dati, aprireTable2 nell'editor tabelle.
  2. Rinominare il campo Type come Table2.Type.

    Se si è appena aggiunta la tabella con Aggiungi dati con la profilatura dei dati attivata, il campo potrebbe già essere stato denominato Table2.Type per impedire l'associazione automatica. In tal caso, questa procedura consentirà di associare le due tabelle.

  3. Creare un campo calcolato utilizzando l'espressione Lower(Table2.Type) e denominarlo Type.
  4. Fare clic su Carica dati.

Le tabelle Table1 e Table2 dovrebbero essere ora associate mediante il campo Type, il quale contiene solamente valori con lettere minuscole, come single e double.

Se si desidera utilizzare le maiuscole/minuscole in modo differente, è possibile farlo con procedure simili, tuttavia è necessario ricordare che le tabelle verranno associate mediante i campi aventi lo stesso nome.

  • Per far sì che tutti i valori siano in maiuscolo, ad esempio Single, creare il campo calcolato Type in Table1 e utilizzare l'espressione Capitalize(Table1.Type).
  • Per far sì che tutti i valori siano in maiuscolo, ad esempio SINGLE, creare il campo calcolato Type in entrambe le tabelle e utilizzare rispettivamente le espressioni Upper(Table1.Type) e Upper(Table2.Type).

Per ulteriori informazioni sui campi calcolati, vedere Utilizzo di campi calcolati.

Per ulteriori informazioni sull'uso delle lettere maiuscole, vedere Capitalize - funzione dello script e del grafico, Lower - funzione dello script e del grafico e Upper - funzione dello script e del grafico.

Caricamento di dati geospaziali per visualizzare i dati con una mappa

Si dispone di dati che si desidera visualizzare utilizzando una mappa, ad esempio le vendite per paese o per negozio. Per utilizzare la visualizzazione della mappa, è necessario caricare l'area o i punti dati.

Proposed action  

È possibile caricare l'area o i punti dati che corrispondono alle posizioni dei valori dei dati provenienti da un file KML o Excel. Inoltre, è necessario caricare lo sfondo effettivo della mappa.

Per ulteriori informazioni, vedere Caricamento dei dati utente per la mappa.