次の方法で共有


論理アーキテクチャの概要 (Analysis Services - 多次元データ)

SQL Server 2008 R2 では、Analysis Services は 2 つの異なるモードで操作できます。これらのモードは、従来の OLAP およびデータ マイニングをサポートする標準的なインストール モードと、SharePoint サーバーでホストされている Analysis Services の特別なインスタンスを使用して、Microsoft PowerPivot for Excel 2010 で作成されたブックをサポートする、SharePoint 統合モードです。

このトピックでは、標準的なモードで動作する場合の Analysis Services の基本アーキテクチャについて説明します。SharePoint 統合モードの詳細については、「SharePoint 統合モードの Analysis Services (PowerPivot for SharePoint)」を参照してください。PowerPivot クライアントの詳細については、「PowerPivot for Excel」を参照してください。

基本アーキテクチャ

Analysis Services のインスタンスには、複数のデータベースを含めることができます。また、1 つのデータベース内に OLAP オブジェクトとデータ マイニング オブジェクトを同時に格納できます。アプリケーションは、Analysis Services の指定インスタンスおよび指定データベースに接続します。サーバー コンピューターは Analysis Services の複数のインスタンスをホストできます。Analysis Services のインスタンスには "<ServerName>\<InstanceName>" という名前が付けられます。次の図は、ここで説明した Analysis Services オブジェクト間のリレーションシップをすべて示しています。

AMO の実行オブジェクトの関係

基本クラスは、キューブの構築に必要な最小限のオブジェクト セットです。この最小限のオブジェクト セットは、ディメンション、メジャー グループ、およびパーティションです。集計は省略可能です。

ディメンションは、属性および階層から構築されます。階層は、順序付けされた属性のセットで形成されます。セット内の各属性が、階層内の 1 つのレベルに対応します。

キューブは、ディメンションおよびメジャー グループから構築されます。キューブのディメンション コレクション内のディメンションは、データベースのディメンション コレクションに属しています。メジャー グループは、同じデータ ソース ビューおよびキューブのディメンションの同じサブセットを持つ、メジャーのコレクションです。1 つのメジャー グループには、物理データを管理するパーティションが 1 つ以上あります。メジャー グループには、既定の集計デザインを指定できます。既定の集計デザインを、メジャー グループ内のすべてのパーティションに使用できます。また、各パーティションに独自の集計デザインを使用することもできます。

  • Server オブジェクト
    AMO では、Analysis Services の各インスタンスが別個のサーバー オブジェクトとして認識されます。各インスタンスは、それぞれ異なる接続によって Server オブジェクトに接続されます。各サーバー オブジェクトには、1 つ以上のデータ ソース、データ ソース ビュー、データベース オブジェクト、アセンブリ、およびセキュリティ ロールが含まれています。

  • Dimension オブジェクト
    各データベース オブジェクトには複数のディメンション オブジェクトが含まれています。各ディメンション オブジェクトには 1 つ以上の属性が含まれ、属性は階層で構成されます。

  • [キューブ オブジェクト]
    各データベース オブジェクトには 1 つ以上のキューブ オブジェクトが含まれています。キューブは、メジャーとディメンションによって定義されます。キューブのメジャーとディメンションは、そのキューブの基になっているか、またはメジャー定義とディメンション定義から生成されたデータ ソース ビュー内のテーブルおよびビューから派生します。

オブジェクトの継承

ASSL オブジェクト モデルには繰り返される多くの要素グループがあります。たとえば、"Dimensions contain Hierarchies" という要素グループでは要素のディメンション階層を定義します。Cubes と MeasureGroups のどちらにも、"Dimensions contain Hierarchies" という要素グループがあります。

明示的にオーバーライドされない限り、要素はこれらの繰り返される要素グループの詳細を上位レベルから継承します。たとえば、CubeDimension の Translations は、先祖要素である Cube の Translations と同じです。

上位レベルのオブジェクトから継承されるプロパティを明示的にオーバーライドするには、オブジェクトで上位レベルのオブジェクトの構造全体およびプロパティを明示的に繰り返す必要はありません。オブジェクトで明示的に記述する必要があるプロパティは、オーバーライドするプロパティだけです。たとえば、CubeDimension では、Cube で無効にする必要がある場合、表示と非表示を切り替える必要がある場合、または一部の Level 詳細が Dimension レベルで指定されない場合にのみ、Hierarchies を一覧表示します。

オブジェクトで指定される一部のプロパティによって、子オブジェクトや子孫オブジェクトの同じプロパティの既定値が指定されます。たとえば、Cube.StorageMode は Partition.StorageMode の既定値を指定します。ASSL では、継承される既定値に Decision Support オブジェクト (DSO) 8.0 で使用されるのと同じルールを適用します。継承される既定値のルールは次のとおりです。

  • 子オブジェクトのプロパティが XML で NULL の場合、そのプロパティの既定値は継承された値になります。ただし、サーバーから値をクエリする場合は、XML 要素の NULL 値が返されます。

  • 子オブジェクトのプロパティが子オブジェクトで直接設定されたか、または継承されたかをプログラムで判断することはできません。

Imports キューブには、Packages と Last という 2 つのメジャーと、Route、Source、および Time という 3 つの関連ディメンションが含まれています。

キューブの例 1

キューブの周囲の小さい英数字の値はディメンションのメンバーです。この例のメンバーは、ground (Route ディメンションのメンバー)、Africa (Source ディメンションのメンバー)、および 1st quarter (Time ディメンションのメンバー) です。

メジャー

キューブ セル内の値は、Packages と Last という 2 つのメジャーを表します。Packages メジャーは輸入されるパッケージ数を表し、Sum 関数はファクトを集計するために使用されます。Last メジャーは受入日を表し、Max 関数はファクトを集計するために使用されます。

ディメンション

Route ディメンションは、輸入品が宛先に搬送される手段を表します。このディメンションのメンバーには、ground、nonground、air、sea、road、rail があります。Source ディメンションは、Africa または Asia など、輸入品の製造場所を表します。Time ディメンションは、年間の四半期と上半期または下半期を表します。

集計

キューブのビジネス ユーザーは、ディメンション内のメンバーのレベルに関係なく、すべてのディメンションのメンバーごとにすべてのメジャーの値を決定できます。これは、Analysis Services が必要に応じて上位レベルで値を集計するためです。たとえば、前の図のメジャー値は、次の図に示すように Time ディメンションの Calendar Time 階層を使用して、標準カレンダー階層に従って集計できます。

時間ディメンションに沿って体系化されたメジャーの図

1 つのディメンションを使用してメジャーを集計するだけでなく、さまざまなディメンションのメンバーを組み合わせて使用し、メジャーを集計できます。これにより、ビジネス ユーザーは複数のディメンション内で同時にメジャーを評価できます。たとえば、ビジネス ユーザーが Eastern Hemisphere と Western Hemisphere から air によって搬送された輸入品を四半期別に分析する必要があれば、キューブ上でクエリを実行して次のデータセットを取得できます。

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

キューブを定義した後、新しい集計を作成したり、既存の集計を変更して、集計を処理時に事前計算するかクエリ時に計算するかなどを指定するオプションを設定することができます。関連項目 :集計と集計デザイン

メジャー、属性、および階層のマッピング

キューブの例のメジャー、属性、および階層は、キューブのファクト テーブルおよびディメンション テーブルの次の列から派生します。

メジャーまたは属性 (レベル)

メンバー

基になるテーブル

基になる列

サンプル列の値

Packages メジャー

N/A

ImportsFactTable

Packages

12

Last メジャー

N/A

ImportsFactTable

Last

May-03-99

Route ディメンションの Route_Category レベル

nonground、ground

RouteDimensionTable

Route_Category

Nonground

Route ディメンションの Route 属性

air、sea、road、rail

RouteDimensionTable

Route

Sea

Source ディメンションの Hemisphere 属性

Eastern Hemisphere、Western Hemisphere

SourceDimensionTable

Hemisphere

Eastern Hemisphere

Source ディメンションの Continent 属性

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

SourceDimensionTable

Continent

Europe

Time ディメンションの Half 属性

1st half、2nd half

TimeDimensionTable

Half

2nd half

Time ディメンションの Quarter 属性

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

TimeDimensionTable

Quarter

3rd quarter

通常、1 つのキューブ セルのデータは、ファクト テーブルの複数行から派生します。たとえば、air メンバー、Africa メンバー、および 1st quarter メンバーの交差部分にあるキューブ セルには、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

前の表で、各行の RouteKey 列、SourceKey 列、および TimeKey 列の値が同じであるということは、これらの行が同じキューブ セルに影響を与えることを示しています。

ここで示す例は、非常に単純なキューブを表します。つまり、キューブに 1 つのメジャー グループがあり、すべてのディメンション テーブルがスター スキーマのファクト テーブルに結合されています。別の一般的なスキーマとして、スノーフレーク スキーマがあります。このスキーマでは、1 つ以上のディメンション テーブルがファクト テーブルに直接結合されるのではなく、それぞれ別のディメンション テーブルに結合されます。関連トピック :ディメンション (Analysis Services - 多次元データ)

ここで示す例には、1 つのファクト テーブルだけが含まれています。キューブに複数のファクト テーブルがある場合、各ファクト テーブルからのメジャーはメジャー グループに編成され、メジャー グループは定義済みのディメンション リレーションシップによって、特定のセットのディメンションに関連付けられます。これらのリレーションシップは、データ ソース ビューの参加テーブルとリレーションシップの粒度を指定することによって定義します。関連トピック :ディメンション リレーションシップ