Share via


Panoramica dell'architettura logica (Analysis Services - Dati multidimensionali)

Un'istanza di Analysis Services può contenere più database e un database può includere contemporaneamente oggetti OLAP e oggetti di data mining. Le applicazioni si connettono a un'istanza specifica di Analysis Services e a un database specifico. Un computer server può ospitare più istanze di Analysis Services. Le istanze di Analysis Services sono denominate "<ServerName>\<InstanceName>". Nella figura seguente sono illustrate tutte le relazioni indicate tra gli oggetti di Analysis Services.

Esecuzione di relazioni tra oggetti da parte di AMO

Le classi di base rappresentano il set di oggetti minimo richiesto per la creazione di un cubo. Tale set di oggetti minimo è costituito da una dimensione, un gruppo di misure e una partizione. L'utilizzo di un'aggregazione è facoltativo.

Le dimensioni vengono create da attributi e gerarchie. Queste ultime sono formate da un set ordinato di attributi, dove ogni attributo del set corrisponde a un livello nella gerarchia.

I cubi sono creati da dimensioni e gruppi di misure. Le dimensioni nella raccolta di dimensioni di un cubo appartengono alla raccolta di dimensioni del database. I gruppi di misure sono raccolte di misure che hanno la stessa vista origine dati e lo stesso subset di dimensioni del cubo. Un gruppo di misure dispone di una o più partizioni per la gestione dei dati fisici. Un gruppo di misure può avere una progettazione delle aggregazioni predefinita, la quale può essere utilizzata da tutte le partizioni nel gruppo di misure. Ogni partizione può inoltre disporre di una progettazione delle aggregazioni specifica.

  • Oggetti server
    Ciascuna istanza di Analysis Services è considerata un oggetto server diverso in AMO. Ogni istanza è connessa a un oggetto Server mediante una connessione diversa. Ogni oggetto server contiene una o più origini dati, viste origine dati e oggetti di database, così come assembly e ruoli di protezione.

  • Oggetti dimensione
    Ogni oggetto di database contiene più oggetti dimensione, ciascuno dei quali contiene uno o più attributi organizzati in gerarchie.

  • Oggetti cubo
    Ogni oggetto di database contiene uno o più oggetti cubo. Un cubo è definito dalle relative misure e dimensioni. Le misure e le dimensioni di un cubo derivano dalle tabelle e dalle viste della vista origine dati su cui il cubo si basa o che viene generata dalle definizioni delle misure e delle dimensioni.

Ereditarietà degli oggetti

Il modello di oggetti ASSL contiene molti gruppi di elementi ripetuti. Il gruppo di elementi "Dimensions contain Hierarchies" definisce la gerarchia di dimensione di un elemento. Cubes e MeasureGroups contengono entrambi il gruppo di elementi "Dimensions contain Hierarchies".

Se non viene sottoposto a override in modo esplicito, un elemento eredita i dettagli di tali gruppi di elementi ripetuti dal livello più elevato. Translations per CubeDimension corrisponde ad esempio a Translations del relativo elemento predecessore Cube.

Per eseguire in modo esplicito l'override delle proprietà ereditate da un oggetto di livello superiore, non è necessario che un oggetto ripeta in modo esplicito l'intera struttura e le proprietà dell'oggetto di livello superiore. Un oggetto deve dichiarare in modo esplicito solo le proprietà di cui desidera eseguire l'override. Un oggetto CubeDimension può ad esempio elencare solo le proprietà Hierarchies da disattivare in Cube, per le quali è necessario modificare la visibilità o per le quali non sono stati specificati alcuni dettagli di Level a livello di Dimension.

Alcune proprietà specificate per un oggetto forniscono i valori predefiniti per la stessa proprietà in un oggetto figlio o discendente. Cube.StorageMode fornisce ad esempio il valore predefinito di Partition.StorageMode. Per i valori predefiniti ereditati, ASSL applica le stesse regole utilizzate in DSO (Decision Support Objects) 8.0. Nell'elenco seguente viene fornita la descrizione di tali regole per i valori predefiniti ereditati.

  • Quando la proprietà per l'oggetto figlio è Null in XML, il valore ereditato viene utilizzato per impostazione predefinita. Tuttavia, se si esegue una query sul valore dal server, viene restituito il valore Null dell'elemento XML.

  • Non è possibile determinare a livello di programmazione se la proprietà di un oggetto figlio è stata impostata direttamente sull'oggetto figlio o ereditata.

Esempio

Il cubo Imports contiene due misure, Packages e Last, e tre dimensioni correlate, Route, Source e Time.

Esempio di cubo 1

I valori alfanumerici più piccoli disposti intorno al cubo rappresentano i membri delle dimensioni. Ad esempio, ground, Africa e 1st quarter sono rispettivamente membri delle dimensioni Route, Source e Time.

Misure

I valori all'interno delle celle del cubo rappresentano le due misure Packages e Last. La misura Packages rappresenta il numero di confezioni importate. Per aggregare i fatti viene utilizzata la funzione Sum. La misura Last rappresenta la data di ricevimento. Per aggregare i fatti viene utilizzata la funzione Max.

Dimensioni

La dimensione Route rappresenta il mezzo di trasporto mediante il quale i beni importati giungono a destinazione. I membri di questa dimensione includono ground, nonground, air, sea, road e rail. La dimensione Source rappresenta le località in cui vengono prodotti i beni importati, ad esempio Africa o Asia. La dimensione Time rappresenta i trimestri e i semestri di un singolo anno.

Aggregazioni

Gli utenti aziendali di un cubo possono determinare il valore di qualsiasi misura per ogni membro di ogni dimensione, indipendentemente dal livello del membro all'interno della dimensione, perché in Analysis Services i valori vengono aggregati ai livelli superiori in base alle esigenze. Ad esempio, i valori delle misure illustrati nella figura precedente possono essere aggregati in base a una gerarchia con il calendario standard utilizzando la gerarchia Calendar Time della dimensione Time, come indicato nella figura seguente.

Diagramma delle misure organizzate lungo la dimensione temporale

Oltre che in base a un'unica dimensione, le misure possono essere aggregate utilizzando combinazioni di membri di dimensioni diverse. Ciò consente agli utenti aziendali di valutare le misure di più dimensioni contemporaneamente. Se, ad esempio, un utente aziendale desidera analizzare ogni trimestre le importazioni giunte per via aerea dagli emisferi orientale e occidentale, potrà eseguire una query sul cubo per recuperare il set di dati seguente.

Packages

Last

All Sources

Eastern Hemisphere

Western Hemisphere

All Sources

Eastern Hemisphere

Western Hemisphere

All Time

25110

6547

18563

Dec-29-99

Dec-22-99

Dec-29-99

1st half

11173

2977

8196

Jun-28-99

Jun-20-99

Jun-28-99

1st quarter

5108

1452

3656

Mar-30-99

Mar-19-99

Mar-30-99

2nd quarter

6065

1525

4540

Jun-28-99

Jun-20-99

Jun-28-99

2nd half

13937

3570

10367

Dec-29-99

Dec-22-99

Dec-29-99

3rd quarter

6119

1444

4675

Sep-30-99

Sep-18-99

Sep-30-99

4th quarter

7818

2126

5692

Dec-29-99

Dec-22-99

Dec-29-99

Dopo avere definito un cubo, è possibile creare nuove aggregazioni o modificare quelle esistenti in modo da impostare le opzioni per determinare, ad esempio, se le aggregazioni devono essere precalcolate durante la fase di elaborazione o calcolate durante l'esecuzione della query. Argomento correlato:Aggregazioni e progettazione di aggregazioni.

Mapping di misure, attributi e gerarchie

Le misure, gli attributi e le gerarchie del cubo di esempio derivano dalle colonne seguenti nelle tabelle dei fatti e delle dimensioni del cubo.

Misura o attributo (livello)

Membri

Tabella di origine

Colonna di origine

Valore della colonna di esempio

Misura Packages

Non applicabile

ImportsFactTable

Packages

12

Misura Last

Non applicabile

ImportsFactTable

Last

May-03-99

Livello Route Category nella dimensione Route

nonground,ground

RouteDimensionTable

Route_Category

Nonground

Attributo Route nella dimensione Route

air,sea,road,rail

RouteDimensionTable

Route

Sea

Attributo Hemisphere nella dimensione Source

Eastern Hemisphere,Western Hemisphere

SourceDimensionTable

Hemisphere

Eastern Hemisphere

Attributo Continent nella dimensione Source

Africa,Asia,AustraliaEurope,N. America,S. America

SourceDimensionTable

Continent

Europe

Attributo Half nella dimensione Time

1st half,2nd half

TimeDimensionTable

Half

2nd half

Attributo Quarter nella dimensione Time

1st quarter,2nd quarter,3rd quarter,4th quarter

TimeDimensionTable

Quarter

3rd quarter

I dati di una singola cella del cubo in genere derivano da più righe della tabella dei fatti. Ad esempio, la cella del cubo nel punto di intersezione tra il membro air, il membro Africa e il membro 1st quarter contiene un valore che deriva dall'aggregazione delle righe seguenti della tabella dei fatti ImportsFactTable.

Import_ReceiptKey

RouteKey

SourceKey

TimeKey

Packages

Last

3516987

1

6

1

15

Jan-10-99

3554790

1

6

1

40

Jan-19-99

3572673

1

6

1

34

Jan-27-99

3600974

1

6

1

45

Feb-02-99

3645541

1

6

1

20

Feb-09-99

3674906

1

6

1

36

Feb-17-99

Nella tabella precedente ogni riga contiene gli stessi valori per le colonne RouteKey, SourceKey e TimeKey, a indicare che queste righe vengono utilizzate per calcolare il valore della stessa cella del cubo.

Nell'esempio illustrato di seguito viene rappresentato un cubo molto semplice, in quanto contiene un solo gruppo di misure, e tutte le tabelle delle dimensioni vengono unite in join alla tabella dei fatti in uno schema star. Un altro schema comune è quello snowflake, in cui una o più tabelle delle dimensioni sono unite in join a un'altra tabella delle dimensioni, anziché direttamente alla tabella dei fatti. Argomento correlato:Dimensioni (Analysis Services - Dati multidimensionali).

Nell'esempio illustrato di seguito viene utilizzata una sola tabella dei fatti. Quando un cubo utilizza più tabelle dei fatti, le misure di ogni tabella dei fatti vengono organizzate in gruppi di misure, ognuno dei quali è correlato a un set di dimensioni specifico mediante le relazioni tra dimensioni definite. Queste relazioni vengono definite specificando le tabelle della vista origine dati coinvolte e il livello di granularità della relazione. Argomento correlato:Relazioni tra dimensioni.