• Non ci sono risultati.

5.2 Load Rule di Oracle Essbase

5.2.3 Caricamento tramite Load Rule

Una volta impostata l’estrazione con le apposite modifiche sui valori, bisogna definire la mappatura dei campi selezionati. Nella Figura 5.6 viene mostrata l’interfaccia dove poter definire le proprietà di un campo. Nel caso di studio in questione, la dimensione verrà generata per “livello”, cioè il membro foglia avrà il livello 0 e i successivi campi della gerarchia avranno livelli superiori [Data and Dimensions]. Quindi per ogni campo estratto bisogna indicare se è

livello o alias e il numero del livello.

Figura 5.6: Mappatura dei campi

Successivamente vanno definite anche alcune regole sul caricamento e sulla generazione della dimensione. La Figura 5.7 mostra tutte le proprietà da definire.

Come si evince dalla figura sono state spuntate le caselle in riferimento a consenti spostamenti e consenti modifiche proprietà. La prima consente, in fase di ricaricamento o aggiornamento della dimensione, di spostare un membro da un genitore ad un altro. Questa situazione è molto frequente dato che le anagrafiche vengono costantemente aggiornate e modificate. Gli spostamenti sono importanti quando cambia la gerarchia perché permettono di non generare duplicati che porterebbero ad errori, in casi in cui un membro era in precedenza sotto un specifico genitore, e successivamente è sotto un altro. Gli spostamenti riconoscono la corrispondenza di tale membro e consentono

Figura 5.7: Proprietà di una dimensione

al nuovo caricamento di spostarlo seguendo la gerarchia attuale. L’opzione

consenti modifiche proprietà, invece, permette di modificare le proprietà di

un membro, in questo caso l’alias. Sempre considerando che non è possibile memorizzare membri con gli stessi nomi, quando viene riconosciuto un membro con lo stesso nome ma con alias diverso, quest’ultimo viene aggiornato. Questa situazione è stata gestita in questo modo poiché il cliente ha confermato che l’alias attribuito ad un membro può cambiare, mentre il membro sarà sempre sempre il medesimo.

Come già anticipato precedentemente, da qui è possibile modificare il me- todo di generazione della dimensione, in questo caso impostato su livello (la differenza tra livello e generazione viene trattata nel Paragrafo 4.2).

Infine per consentire il caricamento e la generazione della dimensione bi- sogna avviare l’interfaccia di caricamento, mostrata in Figura 5.8. Definite alcune impostazioni e inserendo username e password per il collegamento con il database, viene avviato il caricamento.

Figura 5.8: Interfaccia di caricamento delle dimensioni

Al termine si avrà una situazione, come nella Figura 5.9, dove più commesse saranno all’interno di un progetto.

Figura 5.9: Esempio della gerarchia in outline della dimensione “Commessa”

MODELLAZIONE

MULTIDIMENSIONALE

Il sistema è stato implementato seguendo una soluzione di tipo MOLAP (Mul-

tidimensional OLAP), utilizzando Oracle Hyperion Essbase, un DBMS multi-

dimensionale della suite Oracle. In questo capitolo verranno mostrate, prima di tutto, le differenze tra applicazioni OLAP e applicazioni OLTP, successiva- mente verranno descritte le caratteristiche di una soluzione di tipo MOLAP in contrapposizione a quelle di una soluzione di tipo ROLAP.

Inoltre, verranno illustrati gli sviluppi della soluzione adottata nello spe- cifico di questo progetto, dall’implementazione dei database che costituiscono l’applicazione, alla gestione dei metadati che compongono le dimensioni, gli attributi e le gerarchie analizzate nel Capitolo 3.

6.1

On-Line Analytical Processing vs On-Line

Transaction Processing

Il termine OLAP (On-Line Analytical Processing) si riferisce all’insieme di tecniche per analisi multidimensionali di grandi quantità di dati, attraverso diverse modalità di interazione che permettono di cambiare le prospettive e il dettaglio dei risultati.

Il termine OLTP (On-Line Transaction Processing), invece, si riferisce al- l’insieme di tecniche utilizzate per la gestione di sistemi informativi orientati alle transazioni. Il termine Transaction viene interpretato sia dal punto di vista informatico che dal punto di vista economico come “transazioni commerciali”.

Un modo alternativo di classificare il termine OLAP è FASMI (Fast Ana- lysis of Shared Multidimensional Information) che permette di caratterizzare questi sistemi in maniera più semplice come:

• Veloce (Fast): è il punto di partenza di questi sistemi che devono avere la capacità di effettuare analisi complesse in tempi brevissimi.

• Analisi (Analysis): devono fornire tutte le funzionalità di analisi senza dover utilizzare programmi esterni.

• Condiviso (Shared): generalmente applicazioni OLAP vengono condivi- se in più realtà, quindi un prerequisito deve essere quello di avere dei meccanismi che permettano la condivisione dei dati.

• Multimensionale (Multidimensiona): requisito fondamentale delle appli- cazioni OLAP è la visione multidimensionale dei dati che permette di cambiare prospettiva e livello di dettaglio in base alle esigenze grazie alla presenza delle gerarchie. La realtà multidimensionale dell’applica- zione fa si che ci si riferisca ad un cubo come forma per rappresentare graficamente la gestione dei dati.

• Informazione (Information): questi sistemi hanno come obiettivo quello di gestire grosse quantità di dati per consentire analisi complete e fornire una panoramica di tutte le informazioni necessarie.

Le applicazioni OLAP devono fornire all’utente che le utilizza, spesso con ruoli dirigenziali, la possibilità di analizzare la situazione aziendale sotto più punti di vista nel più breve tempo possibile. Tali applicazioni devono fornire le informazioni on-the-fly, cioè al volo, per permettere modifiche sulle logiche di analisi in tempo reale. Inoltre, è importante la flessibilità del sistema che deve riadattarsi ai cambiamenti della società e dei requisiti richiesti dal mercato.

Le applicazioni OLAP si differenziano da quelle OLTP per il fatto che i primi hanno come obiettivo la performance nella ricerca e il raggiungimento di interrogazioni quanto più articolate possibili; i secondi, invece, mirano ad una garanzia di integrità e sicurezza delle transazioni. In [Albano 13] viene espresso come le OLTP siano utili a supportare l’operatività di impiegati e tecnici, mentre le seconde di supportare le decisioni dei dirigenti. Inoltre, le applicazioni OLTP sono organizzate per applicazione e ottimizzate per transa- zione, mentre le applicazioni OLAP sono organizzate per soggetti d’interesse e ottimizzate per le analisi dei dati. Infine, generalmente le applicazioni OLTP

vengono utilizzate per brevi transazioni di letture e scritture, su pochi dati at- tuali, mentre le applicazioni OLAP vengono utilizzate per ricerche complesse su grosse quantità di dati storici, multidimensionali, integrati, e sintetici.

6.1.1

Cubo Multidimensionale

Un cubo multidimensionale, come descritto in [Ballard 06], rappresenta i fatti con n dimensioni come punti in uno spazio n-dimensionale. Un punto che equivale ad un fatto viene individuato dai valori delle dimensioni ed è asso- ciato ad un insieme di misure. Questa visione multidimensionale permette di eseguire analisi in tempi rapidi, superando un limite dei database relazionali e consente di ragionare sulle interrogazioni OLAP in modo intuitivo. Un cubo OLAP può essere immaginato come un’estensione del normale foglio di lavoro a due dimensioni cioè con un numero di caratteristiche o dimensioni di analisi che va da tre a n.

Lo schema dei metadati del Cubo OLAP può essere creato a partire da uno schema a stella oppure da un insieme di tabelle di un database relazionale [OLAP Model]. Le misure sono ricavate dai singoli record presenti nella tabella dei fatti dello schema a stella, e le dimensioni sono dedotte dai campi delle singole tabelle.

Ciascuno degli elementi di una certa dimensione può essere categorizzato all’interno di una gerarchia. Una gerarchia è una serie di relazioni padre e figlio, dove tipicamente l’elemento padre rappresenta il consolidamento degli elementi che sono suoi figli. Gli elementi padre possono essere a loro volta aggregati come figli di un ulteriore padre.

Le tipiche operazioni OLAP sui cubi multidimensionali sono:

• Slice e Dice: generano un sottocubo tagliando il cubo originale attraverso restrizioni. Lo slice applica la restrizione a una dimensione, mentre il dice a più dimensioni.

• Rollu-up e Drill-down: effettuano aggregazioni a diversi livelli di detta- glio. In particolare il roll-up diminuisce il livello di dettaglio riducendo il numero di dimensioni oppure passando da un attributo di raggruppamen- to più generale della stessa dimensione. L’operatore drill-down è l’inverso del precedente e consente di passare da un’analisi più dettagliata, consi- derando più dimensioni pure aggregando per attributi dimensionali più specifici della stessa dimensione.

• Pivot: effettua una rotazione degli assi fornendo una rappresentazione alternativa dei dati.

Documenti correlati