290 likes | 537 Views
p(x) = 0.02. Warehouse. Data Mining Models. Prepared Data. Consolidated Data. Knowledge. Data Sources. LSA. Interpretation and Evaluation. Data Mining & OLAP Cubes. Selection and Preprocessing. Data Consolidation. 4 lezioni OLAP 4 lezioni DM. 3 lezioni. 2 lezioni. 5 lezioni.
E N D
Lab. Sistemi Informativi Economico-Aziendali p(x) = 0.02 Warehouse Data Mining Models Prepared Data Consolidated Data Knowledge Data Sources LSA Interpretation and Evaluation Data Mining & OLAP Cubes Selection and Preprocessing Data Consolidation 4 lezioni OLAP 4 lezioni DM 3 lezioni 2 lezioni 5 lezioni
Analisi OLAP(On-Line Analytical Processing) LSA - Laboratorio di Sistemi Informativi Economico-Aziendali Salvatore Ruggieri Dipartimento di Informatica, Università di Pisa
Lab. Sistemi Informativi Economico-Aziendali Sorgente: OLAP Report
Lab. Sistemi Informativi Economico-Aziendali Datawarehouse, data marts, cubi OLAP Cubes Data mart: vista del dw di interesse ad un singolo processo di business • Data mart ordini, clienti, contabilità, risorse umane, finanza • Organiz. : datamart come collezione di tabelle fatti e dimensioni OLAP Cube: struttura di memorizzazione/visualizzazione dei fatti come celle di un ipercubo con un asse per ciascuna dimensione • Data mart ordini: cubi su acquisti, vendite e magazzino Data warehouse OLAP Cubes
Lab. Sistemi Informativi Economico-Aziendali Schema di un data mart: elementi • Un fatto è un evento di interesse (vendite, spedizioni, acquisti) • Specificato da attributi dimensioni e misure • Una dimensione determina il contesto in cui è avvenuto il fatto • fatto vendita: prodotto, negozio, cliente, tempo • La dimensione può essere organizzata in una gerarchia di livelli • dimensione tempo: gerarchia giorno esatto, mese, anno • Ogni possibile contesto è detto membro della dimensione • membri dim. tempo: 20 Feb. 2004, Febbraio 2004, 2004, ecc. • Dimensioni comuni a più cubi/data mart sono dette condivise o conformate • Una misura descrive quantitativamente il fatto • fatto vendita: numero unità vendute, prezzo unitario, sconto • Tabella dei fatti: collezione di fatti, uno per ogni riga della tabella, con colonne per le dimensioni e per le misure dei fatti • Tabella di una dimensione: collezione dei membri della dimensione e delle loro relazioni gerarchiche
Lab. Sistemi Informativi Economico-Aziendali Product Date ProductNo ProdName ProdDesc Category QOH Sales Fact Table Date Month Year Date Product Store Cust Store CustId CustName CustCity CustCountry Customer StoreID City State Country Region unit_sales dollar_sales Yen_sales Measurements Star Schema Chiavi Esterne
Lab. Sistemi Informativi Economico-Aziendali Product ProductNo ProdName ProdDesc Category QOH Sales Fact Table Date Product Cust Store Store CustId CustName CustCity CustCountry StoreID City City Customer City State unit_sales State dollar_sales State Country Yen_sales Country Country Region Snowflake schema Year Month Year Date Month Year Date Month Measurements
Lab. Sistemi Informativi Economico-Aziendali Palermo Napoli Firenze Torino Milano Roma Gerarchie e aggregati di misure All All 80001333 Zona Nord Centro Sud 28001400360018001600800 Città 2000 800 600 3000 1200 400 Misura: numero di abitanti Aggregato: SUM Aggregato: AVG
Lab. Sistemi Informativi Economico-Aziendali Milano Torino Firenze Roma Napoli Palermo Gerarchie: bilanciate All All Zona Nord Centro Sud Città
Lab. Sistemi Informativi Economico-Aziendali Tizio Caio Sempronio Gerarchie: non bilanciate All All Dirigenti Rossi Bianchi Neri Impiegati
Lab. Sistemi Informativi Economico-Aziendali New York Los Ang. Paris Rome San Marino Gerarchie: ragged All All Moneta Dollari Euro Città
Lab. Sistemi Informativi Economico-Aziendali Analysis Manager: editor di cubi
Lab. Sistemi Informativi Economico-Aziendali Modello di memorizzazione ROLAP (Relational OLAP): • utilizza le funzionalità di un’engine relazionale • estesi in modo da permettere la materializzazione degli aggregati • performance • scalabilità MOLAP (Multidimensional OLAP): • array multidimensionale su disco/memoria • efficiente su dati di dimensioni ridotte • problemi di performance su dati sparsi HOLAP (Hybrid OLAP): • trade-off tra le due soluzioni precedenti • fatti su tabella relazionale • aggregazioni su array multidimensionale
Lab. Sistemi Informativi Economico-Aziendali Analysis Manager: elab. di cubi
Lab. Sistemi Informativi Economico-Aziendali All, All, All Navigazione All Products January 96, Pisa. Product Store Milk Bread Orange … ... sum All Lazio Roma Toscana Pisa Jan 96 Firenze sum Feb 96 Time … ... sum Ogni dimensione contiene una gerarchia di valori una cella del cubo contiene valori aggregati (count, sum, max, etc.)
Lab. Sistemi Informativi Economico-Aziendali Navigazione di un cubo Il manager finanziario esamina la vendita dei prodotti in tutti i mercati relativamente al periodo corrente e quello precedente Il manager regionale esamina la vendita dei prodotti in tutti i periodi relativamente ai propri mercati magazzino tempo prodotto Il manager strategico si concentra su una categoria di prodotti, un’area regionale e un orizzonte temporale medio Il manager di prodotto esamina la vendita di un prodotto in tutti i periodo e in tutti i mercati
Lab. Sistemi Informativi Economico-Aziendali Roll-up All All All All All Roll-up Drill-Down Time Product All Roll-up Drill-Down Time Product Store Drill-Down Time Roll-up e drill-down
Lab. Sistemi Informativi Economico-Aziendali Product Store Slice Month Product Store Month Slice and Dice
Lab. Sistemi Informativi Economico-Aziendali Vendite Acquisti Prodotti Fornitori Clienti Tempo Store Altre operazioni • Drill through: visualizza tutti i fatti relativi ad una cella del cubo • Pivot: rotazione degli assi del cubo • Drill across: collegamento ad altro cubo via dimensioni condivise
Lab. Sistemi Informativi Economico-Aziendali Analysis Manager: browsing
Lab. Sistemi Informativi Economico-Aziendali Analysis Manager: misure calcolate
Lab. Sistemi Informativi Economico-Aziendali Analysis Manager: misure calcolate Sintassi: EXP ::= Numeric | ( Member, Numeric ) Numeric ::= Measure | funzione_numeric(Parametri) | Numeric + Numeric | Numeric - Numeric | Numeric / Numeric | Numeric * Numeric Member ::= funzione_member(Parametri) Semantica: ( Member, Numeric ) l’espressione Numeric è valutata sul membro Member ([Product].CurrentMember.Parent,[Measures].[Quantity]) è la misura Quantity valutata sul padre del membro corrente rispetto alla dimensione Product (ParallelPeriod([Time].[Year], 1), [Measures].[Quantity] ) è la misura Quantity valutata nello stesso periodo dell’anno precedente
Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati multidimensionali • API • Microsoft OLE DB for OLAP, ADO.MD, ADO MD.NET • Linquaggio MDX (MultiDimensional Expressions) • JOLAP • Java OLAP Interface, JSR-69 • Formato di interscambio • XML for Analysis www.xmla.org • Client di visualizzazione • Excel • Explorer • Data Analyser • DBMiner • …
Lab. Sistemi Informativi Economico-Aziendali Data Analyser
Lab. Sistemi Informativi Economico-Aziendali DBMiner 2.0
Lab. Sistemi Informativi Economico-Aziendali Cubi e SQL: GROUP BY WITH CUBE -- fatti selezionati dalla clausola WHERE -- e aggregati dalla clausola GROUP BY -- su tutte le possibili (2^3) combinazioni di prodotto, dimensione e tempo SELECT F.product_id, F.customer_id, F.time_id, SUM(F.store_sales*F.unit_sales) FROM dbo.sales_fact_1997 AS F WHERE F.customer_id < 20 AND F.product_id < 200 GROUP BY F.product_id, F.customer_id, F.time_id WITH CUBE
Lab. Sistemi Informativi Economico-Aziendali Cubi e SQL: GROUP BY WITH ROLLUP -- fatti selezionati dalla clausola WHERE -- e aggregati dalla clausola GROUP BY -- su prodotto, dimensione e tempo -- su prodotto e dimensione -- su prodotto -- su tutti I dati SELECT F.product_id, F.customer_id, F.time_id, SUM(F.store_sales*F.unit_sales) FROM dbo.sales_fact_1997 AS F WHERE F.customer_id < 20 AND F.product_id < 200 GROUP BY F.product_id, F.customer_id, F.time_id WITH ROLLUP