Applicazioni OLAP in ambiente Analysis Service
Pasquale De Meo
DIMET
Università “Mediterranea” di Reggio Calabria
Via Graziella, Località Feo di Vito
[email protected]
Corso di Sistemi Informativi- A.A. 2004-2005
Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
Università degli Studi “Mediterranea” di Reggio Calabria
Indice
1 Impostazione della connessione all’origine dati di sistema
1.1 Concetti preliminari . . . . . . . . . . . . . . . . . . . . . . .
1.2 Definizione dell’origine dati Tutorial . . . . . . . . . . . . . .
4
4
5
2 Avvio di Analysis Manager
2.1 Operazioni preliminari . . . . . . . . . . . . . . . . . . . . . .
2.2 Impostazione dell’origine dati . . . . . . . . . . . . . . . . . .
6
6
7
3 Creazione guidata dei cubi
11
3.1 Premessa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Avvio della procedura di crezione guidata dei cubi . . . . . . 12
3.3 Creazione delle Misure nel cubo Sales . . . . . . . . . . . . . 12
3.4 Creazione delle dimensioni del cubo Sales . . . . . . . . . . . 13
3.5 Creazione della dimensione Time . . . . . . . . . . . . . . . . 16
3.6 Creazione della dimensione Product . . . . . . . . . . . . . . 21
3.7 Creazione delle dimensioni Customer e Store . . . . . . . . 25
3.8 Configurazione della modalità di archiviazione ed elaborazione
del cubo Sales . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Operazioni OLAP sul cubo Sales
4.1 Premessa . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Visualizzazione dei dati di un cubo . . . . . . . . . . . . . . .
4.3 Realizzazione delle operazioni di roll-up sul cubo Sales . . . .
4.4 Realizzazione delle operazioni di drill-down sul cubo Sales . .
4.5 Realizzazione delle operazioni di slice and dice sul cubo Sales
4.6 Realizzazione delle operazioni di drill across sul cubo Sales .
1
37
37
37
38
39
40
42
Elenco delle figure
1.1
Amministrazione origine dati ODBC . . . . . . . . . . . . . .
2.1
2.2
2.3
2.4
2.5
Schermata di avvio di Analysis Manager
Impostazione del Database Tutorial . . . .
Accesso a una Nuova origine dati . . . .
Selezione di un provider Microsoft OLE .
Connessione a Microsoft Data Link . . .
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
Avvio del wizard Creazione Guidata Cubo . . . . . . . . .
Selezione della Tabella dei Fatti. . . . . . . . . . . . . . . . .
Selezione della tabella sales fact 1998 . . . . . . . . . . .
Visualizzazione dei dati della tabella sales fact 1998 . . .
Definizione delle misure del cubo Sales . . . . . . . . . . . .
Definizione delle dimensioni del cubo Sales . . . . . . . . . .
Creazione di una nuova dimensione . . . . . . . . . . . . . . .
Modalità di creazione di una dimensione . . . . . . . . . . . .
Selezione della tabella time by day associata alla dimensione Time . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definizione della dimensione Time . . . . . . . . . . . . . . .
Livelli di granularità della dimensione Time . . . . . . . . . .
Schermata finale per la creazione della dimensione Time . . .
Schermata per la creazione guidata della dimensione Product
Definizione della dimensione Product . . . . . . . . . . . . .
Selezione delle tabelle associate alla dimensione Product . .
Visualizzazione del cammino di join esistente tra le tabelle
product e product class . . . . . . . . . . . . . . . . . . . .
Definizione del livello di granularità associato alla dimensione
Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definizione delle colonne chiave membro associate alla dimensione Product . . . . . . . . . . . . . . . . . . . . . . . . . .
Completamento della procedura di creazione guidata della
dimensione Product . . . . . . . . . . . . . . . . . . . . . . .
Completamento della procedura di creazione guidata del cubo
Sales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
7
8
8
9
10
13
14
14
15
15
16
17
18
19
19
20
20
21
22
23
23
24
24
25
26
3.21
3.22
3.23
3.24
3.25
3.26
3.27
3.28
3.29
3.30
3.31
3.32
3.33
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
Definizione del cubo Sales . . . . . . . . . . . . . . . . . . . .
Tabella dei fatti e delle dimensioni associata al cubo Sales .
Definizione della dimensione Promotion in Editor cubi . .
Selezione delle tabella promotion associato alla dimensione
Promotion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inserimento della tabella promotion in Editor cubi . . . .
Schermata finale per la creazione della dimensione Promotion
Attivazione della procedura di elaborazione del cubo Sales .
Wizard di supporto all’archiviazione del cubo Sales . . . . .
Selezione della procedura di elaborazione MOLAP del cubo
Sales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scelta delle opzioni di aggregazione del cubo Sales . . . . . .
Incremento delle prestazioni di Analysis Service al variare
dello spazio aggiuntivo utilizzato su disco . . . . . . . . . . .
Schermata conclusiva della procedura di elaborazione del cubo
Sales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cronogramma di elaborazione del cubo Sales . . . . . . . . .
Visualizzazione dei dati del cubo Sales secondo la dimensione
Customer . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Visualizzazione dei dati del cubo Sales secondo la dimensione
Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Roll-up della dimensione Time relativa al cubo Sales . . . .
Visualizzazione dei dati secondo la dimensione Customer del
cubo Sales . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Drill-down operato sul cubo Sales . . . . . . . . . . . . . . .
Avvio delle operazioni di slice and dice sul cubo Sales . . . .
Realizzazione delle operazioni di slice and dice sul cubo Sales
Realizzazione delle operazioni di selezione sul cubo Sales . .
3
26
27
28
28
29
30
31
31
33
33
34
35
35
38
39
40
41
41
42
43
43
Capitolo 1
Impostazione della
connessione all’origine dati
di sistema
1.1
Concetti preliminari
Prima di iniziare a utilizzare Analysis Manager, è necessario stabilire le
connessioni all’origine dati in Amministrazione origine dati ODBC.
Nel caso di utenti del sistema operativo Microsoft Windows NT 4.0
le operazioni necessarie per stabilire le connessioni all’origine dati sono le
seguenti:
• Fare clic su Start.
• Selezionare Settings.
• Fare clic su Control Panel.
• Fare doppio clic su ODBC Data Sources.
Viceversa, gli utenti di Windows 2000 oppure Windows XP devono
svolgere le seguenti operazioni:
• Fare clic su Start.
• Selezionare Impostazioni.
• Fare clic su Pannello di Controllo.
• Fare doppio clic su Strumenti di amministrazione e quindi su
Origine dati (ODBC).
In entrambi i casi apparirà la schermata mostrata in Figura 1.1.
4
Figura 1.1: Amministrazione origine dati ODBC
1.2
Definizione dell’origine dati Tutorial
Una volta attivata la voce Origine dati (ODBC) occorre svolgere le seguenti operazioni:
• Nella scheda DSN di sistema fare clic su Aggiungi.
• Selezionare Microsoft Access Driver (*.mdb) e quindi fare clic su
Fine.
• Nella casella Nome origine dati scrivere Tutorial.
• Fare clic su Seleziona nel riquadro Database.
• Nella finestra di dialogo Selezione database passare alla directory
C : \P rogrammi\M icrosof tAnalysisServices\Samples.
• Fare clic su FoodMart 2000.mdb.
• Fare clic su OK.
• Nella finestra di dialogo Configurazione ODBC per Microsoft
Access fare clic su OK.
• Nella finestra di dialogo Amministrazione origine dati ODBC
fare clic su OK.
5
Capitolo 2
Avvio di Analysis Manager
2.1
Operazioni preliminari
Per avviare Analysis Manager occorre svolgere le seguenti operazioni:
– Fare clic su Start.
– Selezionare Programmi,
Analysis Services.
Microsoft SQL Server e, infine,
– Fare clic su Analysis Manager.
Il risultato dell’esecuzione di queste operazioni è riportato in Figura 2.1.
A questo punto è possibile cominciare ad usare Analysis Manager. La
prima operazione da svolgere consiste nell’impostare il database di supporto
allo svolgimento delle attività di OLAP. Nel corso di queste esercitazioni
utilizzeremo il database Tutorial; tale database è fornito assieme al DBMS
Microsoft SQL Server.
Le operazioni da svolgere per impostare il database Tutorial sono le
seguenti:
• Nel riquadro della struttura di Analysis Manager espandere la cartella Analysis Server.
• Fare clic sul nome del server in uso1 per stabilire una connessione con
Analysis Server.
• Fare clic con il pulsante destro del mouse sul nome del server PASQUALE
e quindi scegliere Nuovo database.
1
Nel nostro caso il server si chiama PASQUALE
6
Figura 2.1: Schermata di avvio di Analysis Manager
• Nella finestra di dialogo Database scrivere Tutorial nella casella
Nome database e quindi fare clic su OK.
• Nel riquadro della struttura di Analysis Manager espandere il server
e quindi il database Tutorial.
Il risultato di queste operazioni è mostrato in Figura 2.2.
2.2
Impostazione dell’origine dati
Una volta avviato Analysis Service occorre impostare l’origine dati, ovvero
occorre specificare i dati che possono essere utilizzati nella creazione dei cubi.
Le operazioni da svolgere per definire una nuova origine dati sono le
seguenti:
• Nel riquadro della struttura di Analysis Manager fare clic con il
pulsante destro del mouse sulla cartella Origini dati sotto il nodo
Tutorial e quindi scegliere Nuova origine dati. Il risultato di questa
operazione è illustrato in Figura 2.3.
• Nella finestra di dialogo Proprietà di Data Link selezionare la scheda Provider e quindi fare clic su Microsoft OLE DB Provider for
ODBC Drivers (si veda la Figura 2.4).
• Selezionare la scheda Connessione e quindi selezionare Tutorial nella casella di riepilogo a discesa Utilizza nome origine dati.
7
Figura 2.2: Impostazione del Database Tutorial
Figura 2.3: Accesso a una Nuova origine dati
8
Figura 2.4: Selezione di un provider Microsoft OLE
• Fare clic su Verifica connessione per verificare il corretto funzionamento della connessione. Il risultato di operazione è mostrato in
Figura 2.5. Nella finestra di dialogo Microsoft Data Link verrà visualizzato un messaggio che indica che la connessione è stata attivata
correttamente. Fare clic su OK.
• Fare clic su OK per chiudere la finestra di dialogo Proprietà di Data
Link.
9
Figura 2.5: Connessione a Microsoft Data Link
10
Capitolo 3
Creazione guidata dei cubi
3.1
Premessa
Il concetto di OLAP cube assume una rilevanza cruciale nelle applicazioni
OLAP.
Il concetto di cubo è stato introdotto per gestire in maniera più semplice
ed efficiente i dati che descrivono una realtà di interesse del Data Warehouse.
Per meglio capire questo concetto si osservi che gli eventi che si verificano
all’interno di una realtà modellata tramite un Data Warehouse (ad esempio
una realtà aziendale) sono tantissimi e, pertanto, non possono essere analizzati singolarmente. Per poter agevolmente selezionare e raggruppare tali
eventi si immagina allora di collocarli in uno spazio n-dimensionale i cui assi,
chiamati appunto dimensioni di analisi (o più semplicemente dimensioni),
definiscono varie prospettive per la loro identificazione.
Per esempio, le vendite in una catena di negozi possono essere rappresentate in uno spazio tridimensionale le cui dimensioni sono i prodotti, i negozi
e le date.
Il concetto di dimensione ha dato origine alla diffusissima metafora del
cubo per la rappresentazione dei dati multidimensionali. Secondo questa
metafora, gli eventi corrispondono a celle di un cubo i cui spigoli rappresentano le dimensioni di analisi (se le dimensioni sono più di tre, si tratta
più propriamente di un ipercubo). Ogni cella del cubo conterrà una tupla di
valori numerici dette misure: tali misure esprimono alcune caratteristiche
“quantitative” dell’evento associato a un cubo .
Per chiarire meglio quanto detto si consideri una catena di negozi e si
considerino le seguenti dimensioni di analisi:
• Negozi che identifica un negozio appartenete alla catena.
• Prodotto che identifica un prodotto venduto in uno dei negozi che
formano la catena.
• Data che specifica la data di vendita di un prodotto.
11
In questo modello, un evento corrisponde alla vendita di un certo prodotto in un certo negozio in un certo giorno; tale evento può essere descritto da
due misure quantitative:
• la quantità di prodotto venduta.
• l’incasso derivante dalla vendita di quel prodotto
Si osservi che potrebbero esistere dei cubi sparsi, ossia che molti eventi
non si sono in effetti verificati: ciò significa, ad esempio, che un certo negozio
X, in una data Z può non aver venduto nessun prodotto di tipo Y. In tal caso,
le misure associate al cubo descritto dalla tripla hX, Y, Zi sono ovviamente
indefinite.
Si osservi che ciascuna dimensione è associata a una gerarchia di livelli
di aggregazione (chiamata a volte gerarchia di roll-up) che ne raggruppa i
valori in diversi modi.
Per meglio chiarire questo concetto si osservi che i prodotti potrebbereo
essere raggruppati in tipi e ulteriormente suddivisi in categorie; i negozi si
trovano in città che a loro volta fanno parte di regioni. In cima a ciascuna
gerarchia si trova un livello fittizio che raggruppa tutti i valori relativi a una
dimensione.
3.2
Avvio della procedura di crezione guidata dei
cubi
Il tool Analysis Service offre numerosi strumenti grafici per la creazione
dei cubi. Le operazioni da svolgere per avviare la creazione di un cubo sono
le seguenti:
• Nel riquadro della struttura di Analysis Manager, sotto il database
Tutorial fare clic con il pulsante destro del mouse sulla cartella Cubi
e scegliere Nuovo cubo.
• Fare clic su Procedura guidata.
Il risultato di queste operazioni viene riportato in Figura 3.1.
3.3
Creazione delle Misure nel cubo Sales
Le misure associate al cubo Sales riportano l’andamento delle vendite nei
negozi (stores) presenti nella base di dati FoodMart 2000. Tali misure
sono descritte dagli attributi store sales, store cost e unit sales; la
procedura per aggiungere tali misure al cubo Sales è la seguente:
12
Figura 3.1: Avvio del wizard Creazione Guidata Cubo
• Nella schermata iniziale di Creazione guidata cubo (vedi Figura 3.1) fare clic su Avanti.
• Apparirà la schermata Selezionare una tabella dei fatti da un’origine dati (vedi Figura 3.2)
• Espandere l’origine dati Tutorial e quindi fare clic su sales fact
1998. Il risultato ottenuto viene mostrato in Figura 3.3.
Opzionalmente, è possibile visualizzare i dati della tabella sales fact
1998; per far ciò è necessario fare clic su Visualizza dati. Il risultato
ottenuto è riportato nella Figura 3.4.
Per procedere al passo successivo è necessario fare clic su Avanti.
Infine, per definire le misure del cubo, nella casella Colonne numeriche tabella dei fatti fare doppio clic sul store sales. Tale
campo verrà cancellato dal riquadro sinistro (Colonne numeriche
tabella dei fatti) e verrà trascinata nel riquadro a destra (Misure
cubo). Tale operazione deve essere poi ripetuta per le colonne store
cost e unit sales. Il risultato ottenuto è mostrato in Figura 3.5
• Fare clic su Avanti.
3.4
Creazione delle dimensioni del cubo Sales
In questa sezione mostremo la procedura da seguire per creare le dimensioni
del cubo Sales. In particolare, le dimensioni previste sono:
13
Figura 3.2: Selezione della Tabella dei Fatti.
Figura 3.3: Selezione della tabella sales fact
14
1998
Figura 3.4: Visualizzazione dei dati della tabella sales fact
Figura 3.5: Definizione delle misure del cubo Sales
15
1998
Figura 3.6: Definizione delle dimensioni del cubo Sales
• Time
• Product
• Customer
• Store
3.5
Creazione della dimensione Time
Dopo aver definito le misure da associare al cubo Sales occorre procedere
alla definizione delle sue dimensioni. In particolare, la schermata che appare
è illustrata in Figura 3.6.
Si osservi che la schermata Selezionare le dimensioni per il cubo si
compone di due parti:
• La componente Dimensioni condivise che indica le dimensioni eventualmente già definite dal progettista. In particolare, in Analysis
Service, il progettista può definire due tipologie di dimensioni:
– Dimensioni Private. Una dimensione privata viene definita contestualmente alla creazione di un cubo. Tale dimensione non può
essere riutilizzata nella definizione di altri cubi.
– Dimensioni Condivise. Una dimensione condivisa viene definita
una sola volta e può essere utilizzata pubblicamente da tutti i
cubi costruiti dal progettista.
16
Figura 3.7: Creazione di una nuova dimensione
• La componente Dimensione cubo che contiene le dimensioni associate al cubo che si intende costruire.
I passi necessari per creare la dimensione Time sono:
• Nella schermata Selezionare le dimensioni per il cubo fare clic su
Nuova dimensione. Tale operazione permette di avviare la schermata Creazione guidata dimensione (si veda la Figura 3.7).
• Dopo aver premuto il pulsante Avanti apparirà la schermata illustrata
in Figura 3.8.
Tale schermata offre molteplici alternative per la creazione di una dimensione. In questo corso ci limiteremo a considerare le prime due,
ovvero:
– Schema a stella: un’unica tabella delle dimensioni. Questa alternativa viene scelta se le colonne che definiscono i livelli
di granularità associati alla dimensione che si intende definire
provengono da una sola tabella.
– Schema a fiocco di neve: più tabelle delle dimensioni correlate. Questa alternativa viene scelta se le colonne che definiscono i livelli di granularità associati alla dimensione che si intende
costruire provengono da tabelle differenti.
Per definire la dimensione Time sceglieremo l’opzione Schema a stella: un’unica tabella delle dimensioni. L’uso dell’opzione Schema
17
Figura 3.8: Modalità di creazione di una dimensione
a fiocco di neve: più tabelle delle dimensioni correlate verrà
illustrato nella procedura di creazione della dimensione Product.
• Dopo aver premuto Avanti, apparirà la schermata Selezionare la
tabella delle dimensioni; si selezioni la tabella time by day. Il
risultato ottenuto è riportato in Figura 3.9.
• Dopo aver premuto Avanti apparirà la schermata mostrata in Figura 3.10. Si selezioni la voce Dimensione Temporale.
• Dopo aver premuto nuovamente Avanti apparirà la schermata illustrata in Figura 3.11.
Tale schermata permette di selezionare i livelli di granularità della
dimesione temporale. Nel nostro caso, si consideri la casella Seleziona
livelli temporali e si selezioni Anno, trimestre, mese.
• Fare clic su Avanti; apparirà la schermata Selezionare le opzioni
avanzate.
• Fare nuovamente clic su Avanti. Infine apparirà la schermata riprodotta in Figura 3.12.
.
In tale schermata occorre inserire il nome da assegnare alla dimensione
appena creata. Tale dimensione, nel nostro caso si chiama Time.
18
Figura 3.9: Selezione della tabella time by day associata alla dimensione
Time
Figura 3.10: Definizione della dimensione Time
19
Figura 3.11: Livelli di granularità della dimensione Time
Figura 3.12: Schermata finale per la creazione della dimensione Time
20
Figura 3.13: Schermata per la creazione guidata della dimensione Product
Si noti che tale schermata contiene la casella di spunto Condividi la dimensione con altri cubi; tale casella permette di definire
dimensioni condivise (scelta di default) o private.
3.6
Creazione della dimensione Product
In questa sezione illustreremo i passi da seguire per creare la dimensione
Product. I passi necessari sono i seguenti:
• Dopo aver definito la dimensione Time, fare nuovamente clic su Nuova dimensione. Nella schermata iniziale di Creazione guidata
dimensione fare clic su Avanti (si veda la Figura 3.13).
.
• Nella schermata Selezionare la modalità di creazione della dimensione (si veda la Figura 3.14) selezionare Schema a fiocco di
neve: più tabelle delle dimensioni correlate e quindi fare clic su
Avanti.
.
• Nella schermata Selezionare le tabelle delle dimensioni occorrerà
scegliere le tabelle da cui estrarre le colonne che definiscono la dimensione Product. Nel nostro caso, le tabelle da scegliere sono product
e product class. Queste tabelle devono essere trascinate dal riquadro
di sinistra della maschera Selezionare le tabelle delle dimensioni
21
Figura 3.14: Definizione della dimensione Product
al riquadro di destra della stessa maschera; tale operazione può essere svolta facendo fatto doppio clic sulle tabelle product e product class. Le tabelle selezionate compariranno nel riquadro Tabelle
selezionate (si veda la Figura 3.15).
.
Infine, fare clic su Avanti.
• Le due tabelle selezionate nel passaggio precedente e il join tra loro
esistente vengono visualizzati nella schermata Creare e modificare
i join (vedi Figura 3.16). Fare clic su Avanti.
• A questo punto, come nel caso della dimensione temporale, è necessario
definire la granularità della dimensione Product. Per definire tale
granularità, nel riquadro Colonne disponibili fare doppio clic sulle
colonne product category, product subcategory e brand name
(in questo ordine!). Dopo avere fatto doppio clic su ogni colonna,
il nome corrispondente viene visualizzato nella casella Livelli della
dimensione. Il risultato ottenuto è riportato in Figura 3.17.
Dopo aver selezionato la voce Avanti apparirà la schermata illustrata
in Figura 3.18. In questo caso è sufficiente fare clic su Avanti.
• Nella schermata Selezionare le opzioni avanzate fare clic su Avanti.
• Nella schermata finale (si veda la Figura 3.19) della procedura guidata
22
Figura 3.15: Selezione delle tabelle associate alla dimensione Product
Figura 3.16: Visualizzazione del cammino di join esistente tra le tabelle
product e product class
23
Figura 3.17: Definizione del livello di granularità associato alla dimensione
Product
Figura 3.18: Definizione delle colonne chiave membro associate alla
dimensione Product
24
Figura 3.19: Completamento della procedura di creazione guidata della
dimensione Product
scrivere Product nella casella Nome dimensione e lasciare selezionata la casella di controllo Condividi la dimensione con altri cubi.
Fare clic su Fine.
3.7
Creazione delle dimensioni Customer e Store
In modo analogo a quanto detto prima si possono creare le dimensioni
Customer e Store. I dati associati a tali dimensioni sono riportati nella
Tabella 3.1.
A conclusione delle attività svolte apparirà la schermata illustrata in
Figura 3.20
Dopo aver fatto clic su Si apparirà la schermata illustrata in Figura 3.21.
Nel riquadro Nome Cubo occorre inserire il nome del cubo, ovvero
Sales; si noti che la parte bassa della maschera, ovvero il riquadro Struttura Cubo contiene delle informazioni che descrivono “qualitativamente”
e “quantitativamente” il cubo appena creato.
Dopo aver premuto Fine apparirà la schermata Editor Cubi illustrata
in Figura 3.22.
L’ambiente Editor Cubi visualizza la struttura del cubo Sales. Si
osservi che la Tabella dei Fatti è rappresentata in giallo mentre le tabelle
associate alle singole dimensioni sono rappresentate in blu.
L’interfaccia Editor Cubi è estremamente potente e permette di manipolare i cubi creati dall’utente. In particolare, tramite Editor Cubi è
possibile aggiungere una (o più dimensioni) ai cubi già disponibili. Occorre
25
Figura 3.20: Completamento della procedura di creazione guidata del cubo
Sales
Figura 3.21: Definizione del cubo Sales
26
Dimensione
Customer
Store
Tabella di provenienza
Customer
Store
Livelli di granularità
country
state province
l name
store country
store state
store city
store name
Dimensione condivisa
Si
Si
Tabella 3.1: Dati necessari per costruzione delle dimensioni associate cubi
Customer e Store
Figura 3.22: Tabella dei fatti e delle dimensioni associata al cubo Sales
però sottolineare che le dimensioni create in Editor Cubi sono dimensioni private, ovvero possono essere utilizzate solo con il cubo su cui si sta
lavorando e non possono essere condivise con altri cubi.
A titolo di esempio, aggiungiamo la dimensione Promotion al cubo
Sales appena creato. La procedura necessaria è la seguente:
• In Editor Cubi scegliere Tabelle dal menu Inserisci (si veda la
Figura 3.23).
• Nella finestra di dialogo Seleziona tabella selezionare la tabella promotion, fare clic su Aggiungi e quindi su Chiudi. Il risultato
ottenuto è mostrato nella Figura 3.24.
27
Figura 3.23: Definizione della dimensione Promotion in Editor cubi
Figura 3.24: Selezione delle tabella promotion associato alla dimensione
Promotion
28
Figura 3.25: Inserimento della tabella promotion in Editor cubi
• Per definire la nuova dimensione, fare doppio clic sulla colonna promotion name nella tabella promotion.
Il risultato di questa operazione è illustrato in Figura 3.25.
Nella finestra di dialogo Mapping colonna selezionare Dimensione
e quindi fare clic su OK.
• A questo punto, selezionare la dimensione Promotion Name dalla
tabella promotion che appare nel layout di Editor Cubi. Scegliere
Rinomina dal menu Modifica e scrivere Promotion.
• Infine occorre salvare le modifiche effettuate. Conclusa questa operazione, apparirà la schermata illustrata in Figura 3.26.
Quando viene richiesto di configurare la modalità di archiviazione, fare
clic su No. La modalità di archiviazione verrà configurata in una fase
successiva (si veda la Sezione 3.8).
3.8
Configurazione della modalità di archiviazione
ed elaborazione del cubo Sales
In questa sezione vengono illustrate le procedure necessaarie per memorizzare ed elaborare i cubi. Le operazioni da svolgere sono le seguenti:
• Nel riquadro della struttura di Analysis Manager espandere la cartella Cubi, fare clic con il pulsante destro del mouse sul cubo Sales e
29
Figura 3.26: Schermata finale per la creazione della dimensione Promotion
quindi scegliere Configura archiviazione. Il risultato ottenuto sarà
illustrato in Figura 3.27.
• Apparirà la schermata mostrata in Figura 3.28; fare clic su Avanti.
• A questo punto, occorre scegliere la modalità di archiviazione dei dati.
Analysis Service offre tre differenti possibilità di archiviazione dei
dati:
1. OLAP multidimensionale (MOLAP)
2. OLAP relazionale (ROLAP)
3. OLAP ibrido (HOLAP)
Le opzioni relative all’archiviazione fisica influiscono sulle prestazioni
di Analysis Service. Occorre osservare che in tutte le tipologie possibili di archiviazioni sono previste delle strutture dati di supporto
che memorizzano alcune proprietà del cubo: ad esempio è possibile
eseguire delle query che contengono degli operatori aggregati (ad esempio somme o medie) sui dati associati alle dimensioni dei cubi; tali
strutture dati vengono spesso chiamate aggregazioni.
1. La modalità di archiviazione MOLAP prevede l’archiviazione di
una copia dei dati di origine del cubo in una struttura multidimensionale; tale struttura può essere memorizzata sul computer
30
Figura 3.27: Attivazione della procedura di elaborazione del cubo Sales
Figura 3.28: Wizard di supporto all’archiviazione del cubo Sales
31
in cui sono presenti i dati di origine (archiviazione locale) oppure su un altro computer (archiviazione remota). Inoltre le aggregazioni verranno memorizzate in una struttura multidimensionale. A causa della replicazione dei dati di origine, i tempi di
elaborazione e risposta alle query sono potenzialmente più rapidi
rispetto alla modalità di archiviazione ROLAP oppure HOLAP.
Tuttavia, in Analysis Service cubi di dimensioni estremamente
grandi non possono essere memorizzati in modalità MOLAP; per
tale motivo la modalità MOLAP risulta più appropriata per analizzare cubi di “piccole dimensioni” soggetti a un utilizzo frequente
e che richiedono tempi di risposta rapidi per le query.
2. La modalità di archiviazione ROLAP prevede l’archiviazione delle
aggregazione su viste indicizzate. A differenza della modalità
di archiviazione MOLAP, ROLAP non prevede l’archiviazione di
una copia dei dati di origine: se non è possibile ricavare i risultati dalle aggregazioni o dalla cache del client, per rispondere alle
query si accede alla tabella dei fatti. Con la modalità di archiviazione ROLAP i tempi di risposta alle query di norma sono più
lenti rispetto alle modalità MOLAP ed HOLAP. Il modello ROLAP viene in genere utilizzato per cubi di grandi dimensioni per
i quali la frequenza di query è limitata.
3. La modalità di archiviazione HOLAP combina le modalità MOLAP e ROLAP. In modo analogo a MOLAP, HOLAP prevede
l’archiviazione delle aggregazioni in una struttura multidimensionale di un computer Analysis Server. Inoltre, la tecnica HOLAP non effettua l’archiviazione di una copia dei dati di origine. Per le query che accedono esclusivamente a dati di riepilogo
contenuti nelle aggregazioni di un cubo, HOLAP equivale a MOLAP. Le query che accedono ai dati di origine per cui non sono
disponibili dati aggregati devono recuperare i dati dal database
relazionale e non saranno altrettanto rapide quanto le query su
dati di origine archiviati nella struttura MOLAP.
Da quanto detto segue che la modalità di archiviazione HOLAP presenta tempi di elaborazioni delle query più rapidi rispetto alla modalità
ROLAP e più lenti riepetto alla tecnica MOLAP; inoltre la tecnica
HOLAP permette di manipolare cubi mediamente più grandi rispetto
a quelli trattati da tecniche MOLAP.
Nel nostro caso sceglieremo la modalità MOLAP (vedi la Figura 3.29).
• Fare clic su Avanti. Apparirà la schermata Imposta opzioni di
aggregazione Figura 3.30.
Questa maschera consente di impostare le operazioni di aggregazione
dei dati associati ai cubi. Analysis Service consente di specificare
32
Figura 3.29: Selezione della procedura di elaborazione MOLAP del cubo
Sales
Figura 3.30: Scelta delle opzioni di aggregazione del cubo Sales
33
Figura 3.31: Incremento delle prestazioni di Analysis Service al variare
dello spazio aggiuntivo utilizzato su disco
una “percentuale di miglioramento”, ovvero un indice che specifica
di quanto devono essere migliorate le prestazioni di elaborazione di
una query OLAP. Ovviamente, tanto più alto è il tasso di miglioramento chiesto, tanto maggiore è lo spazio in memoria necessario per
memorizzare il cubo e le aggregazioni ad esso associato. Nel nostro
caso sceglieremo la voce Miglioramento delle prestazioni e nella
casella ad essa adiacente scriveremo 40 per indicare la percentuale di
miglioramento.
• Fare clic su Avvia. A questo punto il cubo Sales viene elaborato e
memorizzato. A conclusione dell’elaborazione apparirà la schermata
illustrata in Figura 3.31.
Il grafico a destra indica lo spazio addizionale richiesto su disco necessario per ottenere l’aumento delle prestazioni richiesto. In particolare,
esso specifica che per avere un aumento delle prestazioni del 40% occorre uno spazio supplementare pari a circa 200Kb (ovvero il 10% della
dimensione del cubo Sales). Al termine del processo di elaborazione
fare clic su Avanti.
• Apparirà la schermata riportata in Figura 3.32.
Nel gruppo Come si desidera procedere? selezionare Elabora
adesso e quindi fare clic su Fine.
Il risultato finale sarà presentato nella Figura 3.33.
34
Figura 3.32: Schermata conclusiva della procedura di elaborazione del cubo
Sales
Figura 3.33: Cronogramma di elaborazione del cubo Sales
35
Tale schermata contiene tutte le informazioni associate all’elaborazione
del cubo Sales.
Facendo clic su Chiudi sarà possibile tornare alla schermata di Analysis Manager.
36
Capitolo 4
Operazioni OLAP sul cubo
Sales
4.1
Premessa
In questa sezione verranno descritte le principali operazioni OLAP che si
possono effettuare sul cubo Sales definito nella Sezione 3. In particolare, le
operazioni OLAP che esamineremo sono:
• Visualizzazione dei dati di un cubo
• Roll-up
• Drill-down
• Slice and Dice
• Drill Across
4.2
Visualizzazione dei dati di un cubo
Per visualizzare i dati che compongono un cubo occorre svolgere le seguenti
operazioni:
• Nel riquadro della struttura di Analysis Manager fare clic con il
pulsante destro del mouse sul cubo Sales e quindi scegliere Visualizza
dati. Verrà attivato Visualizzatore cubi (si veda la Figura 4.1);
Si osservi che la griglia si compone di due parti:
– La parte alta contiene informazioni sulle dimensioni Product,
Promotion Name, Store e Time.
– La parte bassa contiene informazioni associate alla dimensione
Customer.
37
Figura 4.1: Visualizzazione dei dati del cubo Sales secondo la dimensione
Customer
• Se vogliamo sostituire una dimensione presente nella griglia con un’altra, è sufficiente trascinare la dimensione dal riquadro superiore e rilasciarla direttamente sulla colonna che si desidera sostituire. A titolo
di esempio spostiamo la dimensione Product nella voce Measures
Level. Il risultato ottenuto viene riportato in Figura 4.2;
La tabella ottenuta si legge cosı̀: i customer del Canada (riga 2) hanno
speso in totale 98 045,46 $, di cui 2 965,62 $ in Baking Goods, 2 478,10
in Bathroom Products e cosi via.
.
4.3
Realizzazione delle operazioni di roll-up sul
cubo Sales
Roll-up significa letteralmente arrotolare o alzare, e induce un aumento
nell’aggregazione dei dati eliminando un livello di dettaglio da una gerarchia.
Si supponga, per esempio, che l’utente stia visualizzando gli incassi mensili del ’97 e ’98 per ciascuna ragione del cliente: effettuare un roll-up significa, ad esempio, eliminare il dettaglio sui singoli mesi per visualizzare gli
incassi trimestrali complessivi per ciascuna regione.
Il roll-up può anche portare alla diminuzione della dimensionalità del
risultato, qualora tutti i dettagli di una gerarchia vengano eliminati: ad
esempio ciò può significare eliminare le informazioni riguardo ai clienti e
38
Figura 4.2: Visualizzazione dei dati del cubo Sales secondo la dimensione
Product
visualizzare gli incassi annuali totali per ogni categoria di prodotto, passando
da una tabella tridimensionale ad una bidimensionale.
Per eseguire l’operazione di roll-up su una dimensione, ad esempio la
dimensione Time occorre fare le seguenti operazioni:
• Si consideri la schermata presentata in Figura 4.2. A questo punto,
fare clic sulla freccia accanto alla dimensione Time.
• Successivamente occorre espandere i nodi Totale Time e 1998 e
quindi fare doppio clic su Quarter 1 (si veda la Figura 4.3).
In tal caso il livello della granularità della dimensione Time cambia e,
come si vede dalla Figura 4.3, i dati visualizzati nella parte bassa
della maschera cambiano di conseguenza. In particolare, verranno
visualizzati i dati relativi alle vendite del primo trimestre del 1998
ripartiti in rapporto alle aree geografiche di vendita.
4.4
Realizzazione delle operazioni di drill-down sul
cubo Sales
L’operazione di drill-down (letteralmente, trivellare) è l’operazione inversa
del roll-up; infatti essa diminuisce l’aggregazione dei dati introducendo un
ulteriore livello di dettaglio in una gerarchia.
Per eseguire l’operazione di drill-down sulla dimensione Time occorre
svolgere i seguenti passi:
39
Figura 4.3: Roll-up della dimensione Time relativa al cubo Sales
• Si consideri la schermata presentata nella Figura 4.3. A questo punto
occorre invertire la posizione delle dimensioni Product e Customer.
Il risultato ottenuto viene mostrato nella Figura 4.4).
• Fare clic sulla dimensione Product e trascinarla su Country. Infine fare doppio clic nella cella della griglia contrassegnata dalla voce
Baking Goods. Il cubo verrà espanso per includere la colonna della
sottocategoria come mostrato in Figura 4.5.
4.5
Realizzazione delle operazioni di slice and dice
sul cubo Sales
Il termine slice-and-dice (letteralmente, tagliare a fette e cubetti) è uno dei
più abusati nella letteratura sul Data Warehousing, anche se con differenti significati. Alcuni autori lo usano per denotare genericamente l’intero
processo di navigazione OLAP, altri per indicare operazioni di selezione e
proiezione sui dati.
Noi chiameremo slicing l’operazione che riduce la dimensionalità del cubo
fissando un valore per una delle dimensioni, selezione o filtraggio l’operazione
che riduce l’insieme dei dati oggetto di analisi attraverso la formulazione di
un criterio di selezione.
Per effettuare lo slice and dice sul cubo Sales bisogna svolgere le seguenti
operazioni:
• Nel riquadro della struttura di Analysis Manager, sotto il database
40
Figura 4.4: Visualizzazione dei dati secondo la dimensione Customer del
cubo Sales
Figura 4.5: Drill-down operato sul cubo Sales
41
Figura 4.6: Avvio delle operazioni di slice and dice sul cubo Sales
Tutorial espandere la cartella Cubi, fare clic con il pulsante destro del
mouse sul cubo Sales e quindi scegliere Modifica. Queste operazioni
permettono di avviare l’interfaccia Editor cubi.
• In Editor cubi scegliere Opzioni drill-through dal menu Strumenti. Apparirà la schermata mostrata in Figura 4.6).
• Nella finestra di dialogo Opzioni drill-through cubo selezionare la
casella di controllo Consenti drill-through (si veda la Figura 4.7).
A questo punto per effettuare l’operazione di proiezione (slice) bisognerà selezionare le colonne che si intende proiettare dal riquadro Colonne.
Viceversa, se si vuole effettuare un’ operazione di selezione (dice),
bisogna selezionare la voce Filtro. Il risultato ottenuto viene mostrato
nella Figura 4.8).
Nel riquadro bianco bisogna scrivere il predicato booleano associato
all’ operazione di selezione che si intende eseguire.
4.6
Realizzazione delle operazioni di drill across
sul cubo Sales
Con il termine drill-across si intende la possibilità di stabilire un collegamento tra due o più cubi correlati al fine di compararne i dati, per esempio
calcolando espressioni che coinvolgono misure prese dai due cubi.
42
Figura 4.7: Realizzazione delle operazioni di slice and dice sul cubo Sales
Figura 4.8: Realizzazione delle operazioni di selezione sul cubo Sales
43
Di conseguenza per poter effettuare il drill-across, occorre disporre di
tecniche che permettono di correlare due o più cubi; tale correlazione è possibile solo in Microsoft SQL Server 2000 Enterprise Edition. Le operazioni
da svolgere sono le seguenti:
• Nel riquadro della struttura di Analysis Manager espandere il computer Analysis Server e il database Tutorial.
• Fare clic con il pulsante destro del mouse sulla cartella Cubi e quindi
scegliere Nuovo cubo collegato.
• Nella finestra di dialogo Cubo collegato digitare un nome per il cubo
collegato nella casella Nome.
• Nella casella Cubo di origine espandere l’origine dati che contiene il
cubo di origine e quindi selezionare il cubo di origine.
Se si desidera elaborare il cubo collegato immediatamente, selezionare
la casella di controllo Elabora dopo Creazione nuovo cubo. Affinché
gli utenti finali possano connettersi, il cubo collegato deve essere elaborato.
44