94
Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Embed Size (px)

Citation preview

Page 1: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Design and Implementing OLAP solution with

Microsoft SQL Server 2005 Analysis Services

autore: Cristian Marchi Anildo

Page 2: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

2

Obiettivi del corso

Il corso fornisce ai partecipanti le conoscenze necessarie per progettare,implementare e gestire nuove applicazioni di analisi multidimensionale utilizzando il nuovo sistema Microsoft SQL Server 2005 Analysis Services.

Page 3: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

3

Contenuti del corso

• Introduzione alla piattaforma Microsoft per la Business Intelligence

• Architettura degli Analysis Services• Creazione di un progetto Analysis Services• Introduzione agli oggetti Analysis Services• Amministrazione di database Analysis Services• La programmazione multidimensionale• Utilizzo di Client OLAP per l’interrogazione di basi dati

multidimensioanli

Page 4: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

4

Introduzione: la tecnologia OLAP

Il termine OLAP identifica una particolare tecnologia, vista anche come estensione delle funzionalità tipiche di un Data Warehouse, in grado di supportare l’elaborazione di operazioni per il supporto alle decisioni.

Analysis Services è la piattaforma OLAP di Microsoft mediante la quale è possibile progettare, creare, gestire e distribuire strutture multidimensionali, le cui informazioni aggregate permettono attività di analisi per il supporto alle decisioni.

Page 5: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

La piattaforma Microsoft per la Business Intelligence

Sessione 1

Page 6: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

6

La piattaforma Microsoft per la BI

Microsoft SQL Server 2005 è una piattaforma completamente integrata che fornisce strumenti, funzionalità e caratteristiche innovative per lo sviluppo di soluzioni di Business Intelligence e applicazioni di analisi e reporting direzionale.

Page 7: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

7

Panoramica dei componenti chiave di gestione

Principali strumenti per la realizzazione di soluzioni BI:• SQL Server Management Studio (SSMS)• SQL Server Business Intelligence Development Studio (SSBIDS)

Principali componenti server per la realizzazione di soluzioni BI:• SQL Server Database Engine• SQL Server Analysis Services• SQL Server Integration Services• SQL Server Reporting Services

Page 8: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

8

SQL Server Management Studio

• Strumento integrato per la gestione ed amministrazione di qualsiasi tipo di server appartenente alla famiglia SQL Sever:– Database Engine– Analysis Services– Reporting Services– Integration Services

• Funzionalità tipiche di gestione database (proprietà, data files, backup and restore, etc.)

• Query Editor integrato:– Database Engine Query– AS MDX Query– AS DMX Query– AS XMLA Query

• Definizione di oggetti Analysis Services

Page 9: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

9

SQL Server Business Intelligence Development Studio

• Strumento integrato per la gestione, implementazione e distribuzione di progetti Analysis Services

• Solution Explorer– Definizione di sorgenti dati (Data Source)

– Definizione di strutture multidimensionali (Cubi e Dimensioni)

– Definizione di modelli di Mining

– Definizione di Ruoli Utente (Roles and Permission)

– Amministrazione delle proprietà del progetto Analysis Services

• Deployment and Processing Progress– Modalità di elaborazione e storage delle strutture multidimensionali

– Deploy di progetti Analysis Services

Page 10: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

10

Dimostrazione 1-1

• Visti da vicino…– SQL Server Management Studio

– SQL Server Business Development

Page 11: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

L’architettura degli Analysis Services 2005

Sessione 2

Page 12: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

12

Architettura Client/Server

• Architettura costruita su componenti Client e Server– Componente Server (MSMDSVR.EXE) eseguito come servizio

Windows

– La comunicazione con i Clients avviene utilizzando lo standard XML for Analysis per l’invio di comandi

Page 13: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

13

Architettura Distribuita

• Differenti Providers forniti con AS per supportare differenti linguaggi di programmazione

• Comunicazione con AS mediante l’invio e la ricezione di pacchetti SOAP (XML/A) mediante protocollo TCP/IP

• Comunicazione mediante protocollo HTTP (Internet Information Server)

Page 14: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

14

Componenti Server e Client

• Applicazione Server msmdsvr.exe (XML/A Listener)– Interpreta i comandi inviati dalle postazioni Client

– Gestione di metadata

– Processi di elaborazione delle strutture multidimensionali

– Calcolo e gestione delle aggregazioni

– Funzionalità di caching

• Applicazioni Client– Data Access Interfaces per le applicazioni Client (OLEDB for OLAP,

ADO MD, ADO MD.NET, XML/A)

– Comunicazione attraverso XML/A

– Tutte le interrogazioni vengono elaborate lato Server

Page 15: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

15

Oggetti Analysis Services

• Data Source• Data Source Views• Cubi• Dimensioni• Modelli di Mining• Ruoli

Page 16: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

16

Data Source

• Il Data Source rappresenta la connessione ad una origine dati. Contiene la stringa di connessione con i seguenti parametri:– Server Name

– Database

– Security

– Timeout

– Etc.

• Analysis Services immagazzina le informazioni di connessione in un file XML opportunamente criptato.

C:\Programmi\Microsoft SQL Server\ MSSQL.2\OLAP\Data\OLAPDatabase.0.db\OLAPDatabase.7.ds.xml

Page 17: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

17

Data Source: xml file- <Load xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">- <ParentObject>  <DatabaseID>GAT</DatabaseID>   </ParentObject>- <ObjectDefinition>- <DataSource xsi:type="RelationalDataSource">  <Name>GAT</Name>   <ID>GAT</ID>   <CreatedTimestamp>2005-10-10T20:59:17</CreatedTimestamp>   <LastSchemaUpdate>2005-10-13T10:10:57</LastSchemaUpdate>   <ObjectVersion>7</ObjectVersion>   <ObjectID>E5E6061A-C5B7-41E7-B400-59FCC2AA6E9C</ObjectID>   <Ordinal>7</Ordinal>   <PersistLocation>0</PersistLocation>   <System>false</System>   <DataFileList />   <Description />   <PermissionFileList>DataSourcePermission.2.perm.xml</PermissionFileList>   <ConnectionString>[EncryptedDataStart]CAAAAAAHmgD2mnUf6aIvMnk/eKZUchQk6ctUoYL1rS0/9+zaA3KSwJddx28PHjP2aYkOCEsahwVz

tDffiJeJwjKvUsKMGHyjsZy9kW4BvKYQA2DL54UXH1cNfiZQJaZTrwE9YDjhZ0+S0bBKLdBa/p+R zjzDsSZicOJfbo1qpG6jveIQmu334P20e6F0Kf6+/JWrOg0HIevwGmzrB1wpTMYlrexc6BEuFHRk 2tca4sLWC0Ysv7Ax7tKxy0NvarxwoBqikdQkF1vMCGH/AJqClQEql+nWjhM+ww6Uox3dkCkDRknu NeqxZrXFx1JDwtrcHXr5d4N2pZLiYet85Ylw+Q== [EncryptedDataEnd]</ConnectionString>

  <Timeout>P0D</Timeout> - <ImpersonationInfo>  <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>   <Account />   <Password>CAAAAAAAAADzA4h3rswfNEGmETAP8q9X</Password>   </ImpersonationInfo>  <MaxActiveConnections>10</MaxActiveConnections>   <Isolation>ReadCommitted</Isolation>   </DataSource>  </ObjectDefinition>  </Load>

Page 18: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

18

C:\Programmi\Microsoft SQL Server\ MSSQL.2\OLAP\Data\OLAPDatabase.0.db\<<dsv nome>>.dsv.xml

Data Source Views

• Il Data Source Views (DSV) consente la creazione di un livello logico di interfaccia tra il sistema relazionale e quello multidimensionale.

• L’oggetto DSV:– Contiene i metadati degli oggetti relazionali importati da una o più

sorgenti dati (Data Source) connesse, oppure i metadati di oggetti relazionali che possono essere creati successivamente.

– Può essere definito su una o più sorgenti dati– Può contenere relazioni, colonne calcolate e query che non sono

presenti all’interno delle sorgenti dati fisiche.– Non è visibile all’applicazione Client

• E’ possibile costruire uno o più DSV. Gli oggetti DSV possono essere condivisi fra le strutture OLAP.

• Tutte le informazioni sono salvate in file XML

Page 19: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

19

Data Source Views (continua…)

L’introduzione dell’oggetto DSV fornisce una enorme flessibilità nella progettazione di oggetti Analysis Services in quanto la loro implementazione non si limita allo schema fisico delle strutture contenute nell’origine dati, bensì ad uno schema logico basato su nuove relazioni, colonne calcolate o query capaci di definire nuove entità relazionali.

L’introduzione dell’oggetto DSV consente l’implementazione di sistemi BI complessi, eliminando le problematiche relative alla creazione di nuove entità relazionali fisiche su sorgenti dati laddove non si dispone di privilegi di System Administrator.

Ulteriore vantaggio è la certezza di poter progettare e disegnare modelli multidimensionali senza la necessità di essere collegati alla sorgente dati.

Page 20: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

20

Dimensione

• L’oggetto dimensione è una componente fondamentale nella struttura di un cubo.

• La costruzione dell’oggetto dimensione si basa sulle entità logiche definite nel DSV.

• La struttura di una dimensione è molto simile al concetto di tabella.• L’oggetto dimensione viene costruito su una base di attributi e

gerarchie. La dimensione è una collezione di attributi.• L’oggetto dimensione può essere utilizzata in molteplici strutture

cubi• L’oggetto dimensione può essere utilizzata più volte all’interno di

una struttura cubo.• Esistono differenti tipi di dimensioni.

Page 21: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

21

Concetto di attributo

• La dimensione è una collezione di attributi• Ogni attributo corrisponde ad una o più colonne di una tabella• In una dimensione deve essere sempre definito un attributo chiave,

corrispondente ad una o più colonne chiave di una tabella. (Tipicamente l’attributo chiave rappresenta la PK della tabella. Laddove non sia definita una PK è possibile definire una Logical Primary Key).

• I membri contenuti in un attributo sono organizzati in due livelli gerarchici (livello figlio e livello ALL)

• Gli attributi contribuiscono alla definizione delle gerarchie.• All’interno di una dimensione è possibile definire molteplici gerarchie

Page 22: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

22

Rappresentazione di una gerarchia

• Dimensione Tempo– Attributi Year, Quarter e Month

• Membri: 2004, Quarter 1,2,3…

– Gerarchia Calendario• Livelli Year, Quarter e Month

– Membri 2004, Quarter 1,2,3…

Page 23: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

23

Relazioni in una gerarchia

Dimensione

Parent

Siblings

Children

Ancestors di Dec

Descendants di 2004

Cousins

Page 24: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

24

Le relazioni

• Alcuni concetti fondamentali di una rappresentazione di dati in forma multidimensionale– Fatto – un concetto sul quale centrare l’analisi

– Misura – una proprietà atomica di un fatto da analizzare

– Dimensione - descrive una prospettiva lungo la quale effettuare l’analisi

• Le dimensione devono essere quindi correlate ai fatti• AS consente di combinare le dimensioni ai i fatti in modi differenti

– Regular

– Role-Playing

– Fact Dimension

– References

– Many-to-Many

Page 25: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

25

Regular, Role-Playing e References

• Una Regular Dimension è una dimensione correlata direttamente alla Fact Table attraverso l’attributo chiave.

• Una medesima dimensione può essere correlata più volte alla Fact Table assumendo il nome di Role-Playing Dimension.

• Una dimensione correlata indirettamente alla Fact Table mediante una dimensione intermedia, prende il nome di References Dimension (snowflake schema). Non vi è un limite al numero di reference dimensions che possono essere correlate tra loro.

Page 26: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

26

Fact Dimension

Dimensioni standard i cui attributi sono definiti sulla base di colonne presenti all’interno della dimensione tabella dei fatti. Vengono utilizzate per supportare le azioni di drillthrough.

Page 27: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

27

Many-to-Many Dimension

• Medesima logica presente nelle strutture relazionali• Il concetto di dimensione many-to-many allarga il modello

dimensionale oltre il classico star-schema consentendo analisi complesse dove le dimensioni non sono direttamente correlate alla Fact Table.

Page 28: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

28

Categorie di dimensioni

• Tutte le dimensioni sono composte da informazioni soggette a cambiamenti più o meno frequenti nel tempo.

• AS 2005 suddivide le dimensioni in tre categorie:– Regular Dimensions – Dimensioni le cui informazioni vengono

considerate statiche

– Slowly Changing Dimensions – Dimensioni le cui informazioni possono cambiare

– Rapidly Changing Dimensions – Dimensioni le cui informazioni possono cambiare nel tempo con una elevata frequenza.

Page 29: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

29

Slowly Changing Dimensions

• Le SCDs mantengono uno storico dei cambiamenti all’interno di una sorgente dati.

• Le SCDs più comunemente utilizzate sono raggruppate in due differenti sottocategorie:– SCDs Type 1 – durante il processo di elaborazione le informazioni

“storiche” vengono sovrascritte e non conservate (La chiave primaria identificativa del record soggetto a modifica non viene alterata).

– SCDs Type 2 - forma più comune di SCD. Durante il processo di elaborazione le informazioni “storiche” vengono mantenute e le eventuali differenze vengono gestite mediante la generazione di un nuovo membro per l’attributo soggetto a modifica.

Page 30: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

30

Rapidly Changing Dimensions

• Utilizzate per gestire grandi quantitativi di dati• Le RCDs influiscono sulla struttura della Fact Table mediante la

generazione di chiavi surrogate• Le RCDs e la Fact Table sono correlate tra loro mediante le

correlazioni definite tra le chiavi surrogate aggiunte.

Page 31: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

31

Dimostrazione 2-1

• Creazione di un nuovo progetto Analysis Server• Creazione di un nuovo oggetto connessione (Data Source)• Creazione di un nuovo oggetto Data Source Views• Creazione di un nuovo oggetto Dimensione

– Identificazione degli attributi e definizione delle gerarchie

– Impostazione di proprietà per l’oggetto Dimensione

fine primo giorno

Page 32: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

32

Oggetto Cubo

• Il Cubo è sviluppato sulla base di tabelle e viste definite nell’oggetto DSV.

• Un Cubo è un insieme di misure, che rappresentano i fatti, e dimensioni.

• Un Cubo è composto da misure basate su una o più Fact Tables e dimensioni, basate su una o più Dimension Tables.

Page 33: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

33

Concetto di Measures e Measures Group

• Una misura rappresenta una colonna che contiene i dati (solitamente numerici) quantificabili e aggregati, presenti in una tabella dei fatti.

• Una misura può essere calcolata sulla base di una regola di business definita utilizzando il linguaggio multidimensionale (MDX).

• All’interno di un cubo, le misure presenti in una tabella dei fatti sono raggruppate tra loro, formando un “gruppo di misure”.

• In AS 2005, lo scenario prospettato è quello di definire una singola struttura multidimensionale (Cubo) che contiene una o più misure di gruppo. I dati presenti nella tabella dei fatti, all’interno di un gruppo di misure hanno una specifica granularità definita dall’intersezione delle dimensioni.

Page 34: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

34

UDM - Unified Dimensional Model

• UDM è un livello logico che si interpone tra l’utente finale e l’insieme delle sorgenti dati.

• UDM può essere definito sulla base di quattro elementi chiave:– Accesso a fonti dati eterogenee

• Data Source e Data Source Views

– Caratteristiche e funzionalità di analisi aggiuntive• KPI, Translation, Perspective, etc.

– Advanced Analytics• Logica di business per analisi complesse (definizione di Calculation Script)

– Proactive Caching• Servizio che consente di configurare l’accesso ai dati (realtime o non

realtime) mantenendo un elevato livello di performance.

• Cubo è sinonimo di UDM

Page 35: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

35

UDM - Rappresentazione

Il ruolo del livello UDM è quello di fornire un ponte fra l’utente analista e le sorgenti dati. UDM è costruito su una o più sorgenti dati e l’utente finale invia richieste/interrogazioni utilizzando una varietà di strumenti Client, quali ad esempio Microsoft Excel.

Page 36: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

36

Dimostrazione 2-2

• Creazione di un nuovo oggetto Cubo– Impostazione di proprietà per l’oggetto Cubo

Page 37: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Creazione di un progettoAnalysis Services 2005

Sessione 3

Page 38: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

38

Ambiente di lavoro

• Business Intelligence Development Studio (Visual Studio 2005)

Definizione degli oggetti

Definizione delle proprietà

Page 39: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

39

Definizione oggetto Data Source

• Creazione oggetto di connessione ad una fonte dati.• Impostazione delle proprietà di connessione (Server Name,

Database Name, Security, etc.)

Page 40: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

40

Definizione oggetto Data Source Views

• Definizione di un livello logico rappresentativo dei metadati

Sorgente D

ati

Metadati

Page 41: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

41

Data Source Views Designer

• Definizione di nuovi diagrammi, schemi relazionali, named query, colonne calcolate, etc.

Page 42: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

42

Definizione oggetto Dimensione

• Wizard per la definizione di un nuovo oggetto dimensione– Costruzione di un oggetto dimensione utilizzando le entità presenti

all’interno di una sorgente dati

– Costruzione di un oggetto dimensione non utilizzando le entità presenti all’interno di una sorgente dati (modalità top-down)

Page 43: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

43

Laboratorio 3-1

• Mettiamo in pratica quanto sin qui analizzato:– Creazione di un nuovo progetto Analysis Server

– Creazione di un nuovo oggetto connessione

– Creazione di un nuovo oggetto Data Source Views• Creazione di colonne calcolate, relazioni, logical key

– Creazione di un nuovo oggetto Dimensione• Proprietà dell’oggetto Dimensione

Durata: 30 minuti

Page 44: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

44

Definizione oggetto Cubo

• Wizard per la definizione di un nuovo oggetto cubo– Identificazione Fatti e Dimensioni

– Identificazione Dimensione Tempo

– Identificazione delle Misure

Page 45: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

45

Cube Wizard Designer

Page 46: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

46

Relazionare Dimensioni e Misure

• Utilizzo del Dimension Usage Tab del frame-work Cube Designer

Page 47: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

47

…Relazionare Dimensioni e Misure

• Selezionare il tipo di relazione da implementare

Page 48: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

48

Laboratorio 3-2

• Mettiamo in pratica quanto sin qui analizzato:– Creazione di un nuovo oggetto Cubo

• Proprietà dell’oggetto Cubo

– Definizione delle relazioni tra Dimensioni e Misure

Durata: 30 minutifine secondo giorno

Page 49: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

49

Deploy di un progetto AS

• Impostazione delle proprietà di configurazione del progetto AS• Deploy e Processing del progetto AS

Page 50: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Caratteristiche di un CuboAnalysis Services 2005

Sessione 4

Page 51: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

51

Business Intelligence enhancement

• Aggiungere “valore” alle strutture multidimensionali mediante Business Intelligence Wizard.

Enhancement Tipo Applicata a

Time Intelligence Cubo Cubo

Account Intelligence Dimensione Dimensione o Cubo

Dimension Intelligence Dimensione Dimensione o Cubo

Custom Aggregation Dimensione Dimensione o Cubo

Semiadditive Behavior Cubo Cubo

Custom Member Formula Dimensione Dimensione o Cubo

Custom Sorting Dimensione Dimensione o Cubo

Dimension Writeback Dimensione Dimensione o Cubo

Page 52: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

52

Time Intelligence

• Consente la creazione semplificata di nuove misure calcolate basate su una dimensione tempo:– Period to date– Period over period – Moving averages– Parallel period

• Modelli di calcolo (template) definiti nel file TimeIntelligence.xml eventualmente modificabile in base alle proprie esigenze di calcolo.

• Modifica della struttura (metadati) dell’oggetto Data Source Views con l’aggiunta delle nuove colonne calcolate.

• Modifica della struttura dell’oggetto dimensione (Time) con l’aggiunta di nuovi attributi

• Modifica della struttura dell’oggetto cubo con l’aggiunta di nuovi membri calcolati nel linguaggio MDX.

Page 53: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

53

KPI

• Nuovo pannello per la creazione di indicatori di business• Possibilità di visualizzare gli indicatori creati in reports, portali e

dashboard mediante utilizzo di APIs

Page 54: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

54

Object Translation

• AS 2005 permette la rappresentazione dei nomi degli oggetti misure, gruppi di misure, dimensioni, attributi e gerarchie, KPIs, e membri calcolati in un linguaggio specifico (proprietà di identificazione del linguaggio LCID “Local Identifier”)

Page 55: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

55

Perspective

• AS 2005 permette di definire una o più viste semplificate di un cubo in base alle specifiche di business.

Page 56: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

56

Action

• Espressione multidimensionale (MDX) definita in AS• Può essere incorporata in una applicazione client• L’esecuzione viene ordinata dall’utente finale• Differenti tipologie di Actions:

– URL

– Statement

– Dataset

– Drillthrough

– Reporting

Page 57: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

57

Laboratorio 4-1

• Mettiamo in pratica quanto sin qui analizzato:– Creazione di una nuova Dimensione Time mediante l’utilizzo del Wizard “Add

Business Intelligence”– Aggiunta di KPI ad un Cubo– Aggiunta di Object Translation ad un Cubo– Aggiunta di Perspective ad un Cubo

Durata: 30 minuti

Page 58: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Amministrazione di un databaseAnalysis Services 2005

Sessione 5

Page 59: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

59

Ruoli, Gruppi e Permessi

• AS 2005 consente la creazione di Ruoli mediante lo strumento Role Designer

• È consentito impostare le modalità di accesso agli oggetti AS (Fact Table e Dimension Table)

• È consentito impostare i permessi di elaborazione per ogni singolo oggetto AS.

• È consentito, all’amministratore di sistema, definire utenti e gruppi locali per il ruolo creato.

Page 60: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

60

Backup e Restore

• In SSAS 2005 un amministratore può effettuare il backup di un database AS direttamente su file system.

• Il processo di backup crea un file contenente varie informazioni a seconda del tipo di struttura multidimensionale (OLAP, MOLAP o HOLAP)

– MOLAP – metadata, dati e aggregazioni– HOLAP – metadata e aggregazioni– ROLAP – metadata

• In SSAS 2005 un amministratore può effettuare il restore di un database AS impostando differenti opzioni:

– Restore di un database utilizzando il medesimo nome della base dati– Sovrascrivere un database esistente– Decidere se utilizzare differenti locazioni per ogni partizione che compongono la

struttura miltidimensionale. Partizioni locali possono essere restorate in qualsiasi locazione appartenente all’istanza dell’Analysis Server. Partizioni remote possono essere restorate in qualsiasi locazione su qualsiasi server.

Page 61: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

61

Dimostrazione 5-1

• Funzionalità di amministrazione di un data base OLAP– Impostazione di ruoli e permessi

– Backup e Restore

Page 62: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

62

Processo di strutture multidimensionali

• Comando mediante il quale server di Analisi accede alle sorgenti dati per alimentare le strutture multidimensionali (cubi, dimensioni, modelli di mining, partizioni, etc.)

• Le richieste di elaborazione vengono inviate al server di Analisi mediante protocollo nativo XML for Analysis

<Process>

<Object>object_reference</Object>

<Type>processing_type</Type>

<Bindings>ool_bindings</Bindings>

<DataSource>ool_ds</DataSource>

<DataSourceView>ool_dsv</DataSourceView> <ErrorConfiguration>error_config</ErrorConfiguration> <WriteBackTableCreation>wb_tbl_creation</WriteBackTableCreation>

</Process>

Page 63: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

63

Principali Opzioni di elaborazione

Processing Option Database Dimension Cube Measure Group

Partition

ProcessFull X X X X X

ProcessClear X X X X X

ProcessDefault X X X X X

ProcessData X X X

ProcessIndexes X X X

ProcessUpdate X

ProcessAdd X X

ProcessStructure X

Page 64: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

64

…Opzioni di elaborazione

• ProcessFull può essere applicato a tutti gli oggetti AS. Elimina il contenuto dell’oggetto in lavorazione e ricostruisce il tutto

• ProcessClear può essere applicato a tutti gli oggetti AS. Elimina il contenuto dell’oggetto in lavorazione

• ProcessDefault può essere applicato a tutti gli oggetti AS. Permette di completare la lavorazione di un’oggetto portandolo allo stato di Fully Processed.

• ProcessData può essere applicato agli oggetti OLAP (dimensioni, cubi, misure e partizioni). L’azione di lavorazione si concentra soltanto sulla ricostruzione dei dati.

• ProcessIndexes può essere applicato agli oggetti OLAP (dimensioni, cubi, misure e partizioni). L’azione di lavorazione si concentra soltanto sulla ricostruzione degli indici

Page 65: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

65

…Opzioni di elaborazione

• ProcessUpdate può essere applicato soltanto all’oggetto dimensione. Il processo di lavorazione verifica eventuali cambiamenti (update, addition e deletion) registrati nella tabella di origine.

• ProcessAdd può essere applicato soltanto agli oggetti dimensione e partizione. Riferito alle dimensioni effettua soltanto operazioni di addition. Riferito alle partizioni, il processo di lavorazione crea un partizione temporanea, elabora la partizione e termina le operazione con una attività di merge con la partizione target.

• ProcessStructure può essere applicato soltanto all’oggetto cubo. Il processo di lavorazione effettua la ricostruzione della struttura dell’oggetto.

Page 66: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

66

Elaborazione delle Dimensioni

• Logica di elaborazione

Page 67: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

67

Elaborazione delle Partizioni

• Logica di elaborazione

Page 68: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

68

Le Partizioni

• Una partizione è un file o un disco fisico che contiene un sottoinsieme di dati/informazioni che compongono un database Analysis Services

• Le partizioni si definiscono locali se sono definite, processate e salvate su un server di analisi

• Le partizioni si definiscono remote se sono definite su un server di analisi, ma processate e salvate su altri server

• Partition Wizard consente la creazione ed aggiunta di nuove partizioni ad un cubo AS.

• E’ possibile impostare le modalità di storage per ogni singola partizione creata

Page 69: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

69

Storage Setting

Storage Setting Descrizione

ROLAP Modalità Real Time update. Dati e aggregazioni sono memorizzati in schema relazionale.

HOLAP Modalità “ibrida”. Dati memorizzati in schema relazionale. Aggregazioni in schema multidimensionale

Low Latency MOLAP Dati e aggregazioni memorizzati in schema multidimensionale. Il server di Analisi ascolta eventuali notifiche di aggiornamento sulle informazioni per passare eventualmente sull’impostazione real-time ROLAP, mentre la struttura MOLAP vengono riprocessati in un’area temporanea (cache). È previsto un intervallo di “silenzio” di almeno 10 secondi prima dell’aggiornamento della cache. Qualora tale intervallo non sia raggiunto ne è previsto uno in sovrapposizione di 10 minuti. L’elaborazione procede automaticamente con uno stato di latenza di 30 minuti dopo le prime modifiche sui dati.

Medium Latency MOLAP Come il precedente fatta eccezione per l’elaborazione automatica con uno stato di latenza di quattro ore dopo le prime modifiche sui dati.

Automatic MOLAP Viene mantenuta la corrente cache MOLAP mentre ne viene generata una nuova. Il server non passa all’impostazione real-time ROLAP. È richiesto un intervallo di 10 secondi prima della generazione della nuova cache MOLAP. Sempre previsti i 10 minuti di sovrapposizione. Mentre l’elaborazione procede automaticamente con uno stato di latenza di due ore.

Scheduled MOLAP Nessuna notifica di modifiche sui dati inviata al server di analisi. Il server di analisi elabora automaticamente ogni 24 ore.

MOLAP Servizio di Proactive Caching non abilitato. Attività di elaborazioni manuale o schedualata.

Page 70: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

70

Proactive Caching

• Proactive Caching è un nuovo servizio che consente di determinare ogni quanto tempo deve essere rielaborata la cache di una struttura multidimensionale.

• Il servizio di Proactive Caching viene impostato per ogni partizione

• E’ possibile impostare correttamente il servizio di Proactive Caching mediante l’apposito Wizard.

Page 71: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

71

Laboratorio 5-1

• Mettiamo in pratica quanto sin qui analizzato:– Elaborazione e Processing di strutture multidimensionali– Impostazione delle opzioni di Processing– Impostazione delle modalità di Storage

• Gestire il servizio di Proactive Caching

Durata: 30 minutifine terzo giorno

Page 72: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Introduzione alla programmazione inAnalysis Services 2005

Sessione 6

Page 73: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

73

Linguaggi per amministrare una istanza AS

• Creare o modificare oggetti AS (database, cubi, dimensioni, etc.) mediante:– Analysis Management Objects (AMO)

– XML for Analysis (XMLA) e Analysis Services Scripting Language (ASSL)

• Processare oggetti AS mediante:– Analysis Management Objects (AMO)

– XML for Analysis (XMLA)

• Gestione di una istanza AS– Analysis Management Objects (AMO)

– XML for Analysis (XMLA)

Page 74: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

74

Analysis Management Objects (AMO)

• AMO è una libreria di oggetti MS .NET da utilizzare all’interno di una applicazione.

• AMO consente la gestione di oggetti Analysis Services (database, cubi, dimensioni, modelli di mining, etc.)

AMO namespaces

Microsoft.AnalysisServicesMicrosoft.AnalysisServices.HostingMicrosoft.Datawarehouse.ComponentModel……

AMO Classes of Namespace AnalysisService

AccountAccountCollectionAccountType……CubeCubeAttributeCubeDimension……

Page 75: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

75

Analysis Management Objects (AMO)

AMO Classe Cube of Namespace AnalysisService

Cube

Public method

CanProcessCloneCopyTo…Process……

Method CopyTo

Public Function CopyTo (_ obj As Cube _

) As Cube

Microsoft.AnalysisServices.Server server = new Server(); Server.Connect("localhost");

Page 76: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

76

Analysis Services Scripting Language (ASSL)

• ASSL è una sintassi XML utilizzata dalle applicazioni clients per comunicare con SSAS

• ASSL è composto da due sezioni:– Data Definition Language (DDL): definizione dell’istanza di AS e dei

relativi oggetti

– Command Language: Create, Alter, Process ovvero comandi inviati al server di analisi.

<Batch Transaction="true" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Process>

<Object><DatabaseID>Adventure Works DW</DatabaseID> <DimensionID>Customer</DimensionID>

</Object> <Type>ProcessFull</Type>

</Process> <Process>….</Process> </Batch>

Page 77: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

77

Introduzione al linguaggio MDX

• MDX è un linguaggio utilizzato per definire, lavorare con, e restituire dati o informazioni da oggetti multidimensionali.

• MDX è molto simile ad un linguaggio SQL, ma non è una estensione dello stesso.

• Con MDX è possibile:– Creare, eliminare ed operare con oggetti multidimensionali (Data

Definition Language o DDL)

– Restituire e gestire le informazioni risultanti da oggetti multidimensionali (Data Manipulation Language o DML)

– Gestire le informazioni attraverso un insieme di operatori e funzioni messe a disposizione

– Estendere le funzionalità tipiche mediante la definizione di User Define Functions.

Page 78: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

78

Concetti chiave nel linguaggio MDX

• Concetti fondamentali di un modello dimensionale per MDX– Hierarchies, Levels, Members and Measures

– Calculated Members

– Cells, Tuples and Sets

– Expressions, Statements and Scripts

Page 79: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

79

Hierarchies

• Database relazionale definito attraverso entità logiche (tabelle) bi-dimensionali, la cui intersezione tra colonne e righe fornisce il valore del dato.

• All’interno di un database multidimensionale (cubi OLAP) i dati sono organizzati in gerarchie (hierarchies) e non in tabelle.

Page 80: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

80

Levels, Members and Measures

Ogni dimensione (Route, Source, Time e Measures) contiene dei livelli (levels).

Ogni livello di una gerarchia è composto da singoli elementi, membri (members) , ovvero i dati presenti all’interno di una dimensione. Un membro può rappresentare una o più occorrenza di dati

I Membri della dimensione Measures vengono chiamati measures.

Es:. Time.[2nd half].[3rd quarter]

Es:. Time.[2nd half].&[Q4]

Uso la proprietà member name

Uso la proprietà member key

Page 81: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

81

Calculated Members

• Un membro calcolate può essere creato come una parte di una query MDX, in grado di restituire dati calcolati mediante espressioni o funzioni rese disponibili in MDX.– WITH MEMBER [Measures].[PackagesForecast] AS

'[Measures].[Packages] * 1.1' • Il membro calcolato viene eseguito in modalità run-time mediante

l’espressione di calcolo MDX definita.

Page 82: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

82

Tuples

• Una tupla identifica una “fetta” di dati contenuti in un oggetto cubo.• Una tupla è praticamente una collezione di membri di una o più

dimensioni.– Esempio di tupla semplice (Time.[2nd half])

– Esempio di tupla composta (Time.[2nd half], Source.nonground.air)

Page 83: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

83

Sets

• Un insieme è una collezione di 0, una o più tuple.• L’insieme è comunemente usato per definire gli Assi in una query

MDX.

{ (Time.[1st half], Source.nonground.air), (Time.[2nd half], Source.nonground.sea)}

InsiemeTupla 1

Tupla 2

Page 84: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

84

Query MDX

• Una Query MDX è una istruzione in grado di restituire un insieme di celle contenente un sotto insieme di dati presenti in una struttura multidimensionale.

SELECT

{

[Measures].[Sales Amount],

[Measures].[Tax Amount]

} ON COLUMNS,

{

[Date].[Fiscal Time].[Fiscal Year].&[2002], [Date].[Fiscal Time].[Fiscal Year].&[2003]

} ON ROWS

FROM [Adventure Works]

WHERE ( [Sales Territory].[Southwest] )

Page 85: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

85

Laboratorio 6-1

• Mettiamo in pratica quanto sin qui analizzato:– Scrivere Query MDX– Creare nuovi membri calcolati

Durata: 30 minuti

fine quarto giorno

Page 86: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Introduzione all’utilizzo di Client OLAP

Sessione 7

Page 87: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

87

Strumenti Microsoft per l’Analisi multidimensionale

• Office OLAP Components– Pivot Table Service

– Excel Pivot Table

– Office Web Component

• Reporting Service– Reports a matrice

– Delivery di Reports (e-Mail;file sharing;etc.)

– Format Rendering Reports (PDF, Excel, Html, Xml)

Page 88: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

88

Utilizzo delle Office Web Component 10.0

Page 89: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

89

Collegamento alla fonte dati OLAP

Page 90: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

90

Analisi mediante Pivot Table

Page 91: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

91

Impiego delle OWC in un contesto applicativo

Page 92: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

92

Impiego delle OWC in un contesto applicativo

Page 93: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

93

Laboratorio 7-1

• Mettiamo in pratica quanto sin qui analizzato:– Utilizzo di Microsoft Excel per interrogare un Cubo Olap– Utilizzo delle Office Web Component per interrogare un Cubo Olap

Durata: 30 minuti

Page 94: Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore: Cristian Marchi Anildo

Presentazione di un Case Study

Sessione 8

fine quinto giorno