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