Design and Implementing OLAP solution with Microsoft SQL Server 2005 Analysis Services autore:...

Preview:

Citation preview

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.

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

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.

La piattaforma Microsoft per la Business Intelligence

Sessione 1

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.

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

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

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

10

Dimostrazione 1-1

• Visti da vicino…– SQL Server Management Studio

– SQL Server Business Development

L’architettura degli Analysis Services 2005

Sessione 2

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

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)

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

15

Oggetti Analysis Services

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

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

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>

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

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.

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.

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

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…

23

Relazioni in una gerarchia

Dimensione

Parent

Siblings

Children

Ancestors di Dec

Descendants di 2004

Cousins

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

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.

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.

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.

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.

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.

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.

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

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.

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.

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

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.

36

Dimostrazione 2-2

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

Creazione di un progettoAnalysis Services 2005

Sessione 3

38

Ambiente di lavoro

• Business Intelligence Development Studio (Visual Studio 2005)

Definizione degli oggetti

Definizione delle proprietà

39

Definizione oggetto Data Source

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

Database Name, Security, etc.)

40

Definizione oggetto Data Source Views

• Definizione di un livello logico rappresentativo dei metadati

Sorgente D

ati

Metadati

41

Data Source Views Designer

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

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)

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

44

Definizione oggetto Cubo

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

– Identificazione Dimensione Tempo

– Identificazione delle Misure

45

Cube Wizard Designer

46

Relazionare Dimensioni e Misure

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

47

…Relazionare Dimensioni e Misure

• Selezionare il tipo di relazione da implementare

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

49

Deploy di un progetto AS

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

Caratteristiche di un CuboAnalysis Services 2005

Sessione 4

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

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.

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

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”)

55

Perspective

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

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

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

Amministrazione di un databaseAnalysis Services 2005

Sessione 5

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.

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.

61

Dimostrazione 5-1

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

– Backup e Restore

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>

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

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

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.

66

Elaborazione delle Dimensioni

• Logica di elaborazione

67

Elaborazione delle Partizioni

• Logica di elaborazione

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

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.

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.

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

Introduzione alla programmazione inAnalysis Services 2005

Sessione 6

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)

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……

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");

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>

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.

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

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.

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

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.

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)

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

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] )

85

Laboratorio 6-1

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

Durata: 30 minuti

fine quarto giorno

Introduzione all’utilizzo di Client OLAP

Sessione 7

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)

88

Utilizzo delle Office Web Component 10.0

89

Collegamento alla fonte dati OLAP

90

Analisi mediante Pivot Table

91

Impiego delle OWC in un contesto applicativo

92

Impiego delle OWC in un contesto applicativo

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

Presentazione di un Case Study

Sessione 8

fine quinto giorno

Recommended