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.