Übersicht über logische Architektur (Analysis Services - Mehrdimensionale Daten)
Eine Analysis Services-Instanz kann mehrere Datenbanken enthalten, und eine Datenbank kann gleichzeitig OLAP-Objekte und Data Mining-Objekte enthalten. Anwendungen stellen eine Verbindung mit einer angegebenen Instanz von Analysis Services und einer angegebenen Datenbank her. Ein Servercomputer kann mehrere Instanzen von Analysis Services hosten. Analysis Services-Instanzen werden mit "<Servername>\<Instanzname>" benannt. Die folgende Illustration zeigt alle genannten Beziehungen zwischen Analysis Services-Objekten.
Basisklassen sind der minimale Satz von Objekten, der für die Erstellung eines Cubes erforderlich ist. Dieser minimale Satz von Objekten ist eine Dimension, eine Measuregruppe und eine Partition. Eine Aggregation ist optional.
Dimensionen werden aus Attributen und Hierarchien gebildet. Hierarchien bestehen aus einem sortierten Satz von Attributen, wobei jedes Attribut des Satzes einer Ebene der Hierarchie entspricht.
Cubes werden aus Dimensionen und Measuregruppen gebildet. Die Dimensionen in der Dimensionsauflistung eines Cubes gehören zur Dimensionsauflistung der Datenbank. Measuregruppen sind Auflistungen von Measures, die die gleiche Datenquellensicht und die gleiche Dimensionsteilmenge des Cubes besitzen. Eine Measuregruppe besitzt mindestens eine Partition, um die physischen Daten zu verwalten. Eine Measuregruppe kann einen Standardaggregationsentwurf besitzen. Der Standardaggregationsentwurf kann von allen Partitionen in der Measuregruppe verwendet werden. Außerdem kann jede Partition Ihren eigenen Aggregationsentwurf besitzen.
Serverobjekte
Jede Instanz von Analysis Services wird in AMO als einzelnes Serverobjekt betrachtet. Jede einzelne Instanz ist über eine andere Verbindung mit einem Server-Objekt verbunden. Jedes Serverobjekt besitzt mindestens eine Datenquelle, eine Datenquellensicht und ein Datenbankobjekt sowie Assemblys und Sicherheitsrollen.Dimensionsobjekte
Jedes Datenbankobjekt enthält mehrere Dimensionsobjekte. Jedes Dimensionsobjekt enthält ein oder mehrere Attribute, die in Hierarchien organisiert werden.Cubeobjekte
Jedes Datenbankobjekt enthält mindestens ein Cubeobjekt.Ein Cube wird durch seine Measures und Dimensionen definiert. Die Measures und Dimensionen in einem Cube werden aus Tabellen und Sichten der Datenquellensicht abgeleitet, auf der der Cube basiert bzw. die von den Measure- und Dimensionsdefinitionen generiert wird.
Objektvererbung
Das ASSL-Objektmodell enthält zahlreiche wiederkehrende Elementgruppen. Beispielsweise definiert die Elementgruppe "Dimensions enthalten Hierarchies" die Dimensionshierarchie eines Elements. Sowohl Cubes als auch MeasureGroups enthalten die Elementgruppe "Dimensions enthalten Hierarchies".
Wenn dies nicht ausdrücklich außer Kraft gesetzt wird, erbt ein Element die Details dieser wiederkehrenden Elementgruppe von der höheren Ebene. Beispielsweise sind die Translations für eine CubeDimension die gleichen wie die Translations für sein Vorgängerelement Cube.
Um die von einem Objekt einer höheren Ebene geerbten Eigenschaften explizit außer Kraft zu setzen, muss das Objekt nicht explizit die gesamte Struktur und die gesamten Eigenschaften des Objekts der höheren Ebene wiederholen. Die einzigen Eigenschaften, die von einem Objekt explizit angegeben werden müssen, sind die Eigenschaften, die von dem Objekt außer Kraft gesetzt werden sollen. Beispielsweise kann eine CubeDimension nur die Hierarchies auflisten, die im Cube deaktiviert werden sollen, deren Sichtbarkeit geändert werden soll oder für die einige Level-Details auf der Dimension-Ebene nicht bereitgestellt wurden.
Einige auf einem Objekt angegebene Eigenschaften stellen Standardwerte für die gleiche Eigenschaft auf einem untergeordneten oder nachfolgenden Objekt bereit. Beispielsweise stellt Cube.StorageMode den Standardwert für Partition.StorageMode bereit. Für geerbte Standardwerte wendet ASSL die gleichen Regeln an, die in Decision Support Objects (DSO) 8.0 verwendet werden. Die folgende Liste beschreibt diese Regeln für geerbte Standardwerte:
Wenn die Eigenschaft für das untergeordnete Objekt in XML NULL ist, nimmt der Wert der Eigenschaft standardmäßig den geerbten Wert an. Wenn Sie den Wert jedoch vom Server abfragen, gibt der Server den NULL-Wert des XML-Elements zurück.
Es ist nicht möglich, programmgesteuert festzustellen, ob die Eigenschaft eines untergeordneten Objekts direkt auf dem untergeordneten Objekt festgelegt oder geerbt wurde.
Beispiel
Der Imports-Cube enthält die beiden Measures Packages und Last sowie die drei verwandten Dimensionen Route, Source und Time.
Die kleineren alphanumerischen Werte um den Cube herum stellen die Elemente der Dimension dar. Beispiele für Elemente sind ground (Element der Route-Dimension), Africa (Element der Source-Dimension) und 1st quarter (Element der Time-Dimension).
Measures
Die Werte innerhalb der Cubezellen stellen die beiden Measures Packages und Last dar. Das Packages-Measure gibt die Anzahl importierter Pakete an, und die Sum-Funktion wird zum Aggregieren der Measurefakten verwendet. Das Last-Measure gibt das Empfangsdatum an, und die Max-Funktion wird zum Aggregieren der Measurefakten verwendet.
Dimensionen
Die Route-Dimension stellt dar, auf welchem Weg die Importwaren ihr Ziel erreichen. Zu den Elementen dieser Dimension gehören ground, nonground, air, sea, road und rail. Die Source-Dimension gibt die Orte an, an denen die Importe produziert werden, z. B. Africa oder Asia. Die Time-Dimension stellt die Quartale und Halbjahre eines einzelnen Jahres dar.
Aggregate
Anwender des Produkts im geschäftlichen Bereich, die einen Cube verwenden, können beliebige Measurewerte für jedes Element in jeder Dimension bestimmen, unabhängig von der Ebene des Elements innerhalb der Dimension, da Werte von Analysis Services auf höheren Ebenen als erforderlich aggregiert werden. So können z. B. die Measurewerte der vorangegangenen Abbildung gemäß einer Standardkalenderhierarchie mithilfe der Calendar Time-Hierarchie in der Time-Dimension, wie im folgenden Diagramm dargestellt, aggregiert werden.
Ergänzend zur Aggregation von Measures mithilfe einer einzigen Dimension können Sie Measures mithilfe von Kombinationen von Elementen unterschiedlicher Dimensionen aggregieren. Auf diese Weise ist es Anwendern des Produkts im geschäftlichen Bereich möglich, in mehreren Dimensionen gleichzeitig Measures auszuwerten. Wenn ein Anwender des Produkts im geschäftlichen Bereich z. B. die Quartalsimporte analysieren möchte, die per Luftfracht aus der östlichen und der westlichen Hemisphäre eingetroffen sind, kann der Anwender eine Abfrage an den Cube eingeben, um das folgende Dataset abzurufen.
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 |
Wenn ein Cube definiert wurde, können Sie neue Aggregationen erstellen, oder Sie können vorhandene Aggregationen ändern, um Optionen festzulegen, die angeben, ob Aggregationen während der Verarbeitung im Voraus oder zum Zeitpunkt der Abfrage berechnet werden. Verwandtes Thema:Aggregationen und Aggregationsentwürfe
Zuordnen von Measures, Attributen und Hierarchien
Die Measures, Attribute und Hierarchien des Cubes in dem Beispiel werden aus den folgenden Spalten in den Fakten- und Dimensionstabellen des Cubes abgeleitet.
Measure oder Attribut (Ebene) |
Mitglieder |
Quelltabelle |
Quellspalte |
Beispielspaltenwert |
---|---|---|---|---|
Packages-Measure |
Nicht anwendbar |
ImportsFactTable |
Packages |
12 |
Last-Measure |
Nicht anwendbar |
ImportsFactTable |
Last |
May-03-99 |
Route Category-Ebene in Route-Dimension |
nonground, ground |
RouteDimensionTable |
Route_Category |
Nonground |
Route-Attribut in Route-Dimension |
air, sea, road, rail |
RouteDimensionTable |
Route |
Sea |
Hemisphere-Attribut in Source-Dimension |
Eastern Hemisphere, Western Hemisphere |
SourceDimensionTable |
Hemisphere |
Eastern Hemisphere |
Continent-Attribut in Source-Dimension |
Africa, Asia, Australia, Europe, N. America, S. America |
SourceDimensionTable |
Continent |
Europe |
Half-Attribut in Time-Dimension |
1st half, 2nd half |
TimeDimensionTable |
Half |
2nd half |
Quarter-Attribut in Time-Dimension |
1st quarter, 2nd quarter, 3rd quarter, 4th quarter |
TimeDimensionTable |
Quarter |
3rd quarter |
Daten in einer einzelnen Cubezelle werden normalerweise aus mehreren Zeilen in der Faktentabelle abgeleitet. So enthält z. B. die Cubezelle am Schnittpunkt von air-Element, Africa-Element und 1st quarter-Element einen Wert, der durch Aggregieren der folgenden Zeilen in der ImportsFactTable-Faktentabelle abgeleitet wird.
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 |
Jan-10-99 |
3645541 |
1 |
6 |
1 |
20 |
Jan-10-99 |
3674906 |
1 |
6 |
1 |
36 |
Jan-10-99 |
In der vorangegangenen Tabelle weist die Tatsache, dass jede Zeile denselben Wert für die Spalten RouteKey, SourceKey und TimeKey enthält, darauf hin, dass diese Zeilen zur selben Cubezelle beitragen.
In dem hier dargestellten Beispiel geht es um einen sehr einfachen Cube, der nur eine einzige Measuregruppe enthält und bei dem alle Dimensionstabellen in einem Sternschema mit der Faktentabelle verknüpft sind. In weiteres häufiges Schema ist das Schneeflockenschema, in dem mindestens eine Dimensionstabelle mit einer anderen Dimensionstabelle und nicht direkt mit der Faktentabelle verknüpft wird. Verwandtes Thema:Dimensionen (Analysis Services - Mehrdimensionale Daten).
Das hier dargestellte Beispiel enthält nur eine einzige Faktentabelle. Wenn ein Cube mehrere Faktentabellen enthält, werden die Measures aus jeder Faktentabelle in Measuregruppen organisiert, und eine Measuregruppe wird mithilfe von definierten Dimensionsbeziehungen mit einer bestimmten Gruppe von Dimensionen verbunden. Diese Beziehungen werden durch Angeben der teilnehmenden Tabellen in der Datenquellensicht und der Granularität der Beziehung definiert. Verwandtes Thema:Dimensionsbeziehungen.