QlikView - Schema a stella

Un modello di schema iniziale è un tipo di modello di dati in cui più dimensioni sono collegate a una singola tabella dei fatti. Ovviamente, nei modelli più grandi possono esserci più tabelle dei fatti collegate a più dimensioni e altre tabelle dei fatti. L'utilità di questo modello risiede nell'esecuzione di query veloci con join minimi tra le varie tabelle. La tabella dei fatti contiene dati, che sono misure e hanno valori numerici. I calcoli vengono applicati ai campi nella tabella dei fatti. Le chiavi univoche delle tabelle delle dimensioni vengono utilizzate per collegarlo alla tabella fat, che ha anche una chiave solitamente con lo stesso nome di campo. Pertanto, la tabella dei fatti contiene le chiavi dell'intera tabella delle dimensioni e forma una chiave primaria concatenata utilizzata in varie query.

Dati in ingresso

Di seguito è riportato un elenco di tabelle, che contengono i dati per diversi prodotti di vari fornitori e regioni. Anche la fornitura avviene a diversi intervalli di tempo, che vengono catturati nella tabella della dimensione temporale.

Dimensione del prodotto

Contiene la categoria del prodotto e i nomi dei prodotti. Il campo ID prodotto è la chiave univoca.

ProductID,ProductCategory,ProductName
1,Outdoor Recreation,Winter Sports & Activities
2,Clothing,Uniforms
3,Lawn & Garden	Power, Equipment
4,Athletics,Rugby
5,Personal Care,Shaver
6,Arts & Entertainment,Crafting Materials
7,Hardware,Power Tool Batteries

Dimensione della regione

Contiene i nomi delle regioni in cui hanno sede i fornitori. Il campo RegionID è la chiave univoca.

RegionID,Continent,Country
3,North America, USA
7,South America, Brazil
12,Asia,China
2,Asia,Japan
5,Europe,Belgium

Dimensione del fornitore

Contiene i nomi dei fornitori, che forniscono i prodotti di cui sopra. Il campo SupplierID è la chiave univoca.

SupplierID,SupplierName
3S12,Supre Suppliers
4A15,ABC Suppliers
4S66,Max Sports
5F244,Nice Foods
8A45,Artistic angle

Dimensione temporale

Contiene i periodi di tempo in cui avviene la fornitura dei prodotti di cui sopra. Il campo TimeID è la chiave univoca.

TimeID,Year,Month
1,2012,Feb
2,2012,May
3,2012,Sep
4,2013,Aug
5,2014,Jan
6,2014,Nov

Dati sulla quantità del fornitore

Contiene i valori per le quantità fornite e la percentuale di difetti nelle stesse. Si unisce a ciascuna delle dimensioni di cui sopra tramite chiavi con lo stesso nome.

ProductID,RegionID,TimeID,SupplierID,Quantity, DefectPercentage
1,3,3,5F244,8452,12
2,3,1,4S66,5124,8.25
3,7,1,8A45,5841,7.66
4,12,2,4A15,5123,1.25
5,5,3,4S66,7452,8.11
6,2,5,4A15,5142,3.66
7,2,1,4S66,452,2.06

Carica script

I dati precedenti vengono caricati nella memoria di QlikView utilizzando l'editor di script. Apri l'Editor di script dal menu File o premiControl+E. Scegli ilTable Files opzione dal Data from Filesscheda e cerca il file contenente i dati di cui sopra. ClicOK e premete Control+Rper caricare i dati nella memoria di QlikView. Di seguito è riportato lo script che appare dopo la lettura di ciascuno dei file precedenti.

LOAD ProductID, 
     ProductCategory, 
     ProductName
FROM
[C:\Qlikview\images\StarSchema\Product_dimension.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LOAD TimeID, 
     Year, 
     Month
FROM
[C:\Qlikview\images\StarSchema\Time.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LOAD SupplierID, 
     SupplierName
FROM
[C:\Qlikview\images\StarSchema\Suppliers.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LOAD RegionID, 
     Continent, 
     Country
FROM
[C:\Qlikview\images\StarSchema\Regions.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

LOAD ProductID, 
     RegionID, 
     TimeID, 
     SupplierID, 
     Quantity, 
     DefectPercentage
FROM
[C:\Qlikview\images\StarSchema\Supplier_quantity.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Star Schema Data Model

Dopo aver letto i dati di cui sopra nella memoria di QlikView, possiamo esaminare il modello di dati, che mostra tutte le tabelle, i campi e le relazioni sotto forma di uno schema a stella.