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

適用対象: Azure Analysis Services Power BI Premiumを SQL Server Analysis Servicesする

Analysis Services は、さまざまな種類の Analysis Services モデルで使用されるメモリ アーキテクチャとランタイム環境を指定する、サーバー配置モードで動作します。 サーバー モードは、インストール時に決定されます。 多次元およびデータ マイニング モードでは 、従来の OLAP とデータ マイニングがサポートされています。 表形式モード では、表形式モデルがサポートされています。 SharePoint統合モードとは、ブック内のExcelまたは Power Pivot データ モデルの読み込みとクエリに使用される、SharePoint用の Power Pivot としてインストールされた Analysis Services のインスタンスを指します。

このトピックでは、多次元モードとデータ マイニング モードで動作する場合の Analysis Services の基本アーキテクチャについて説明します。 その他のモードの詳細については、「 表形式モデリング表形式ソリューションと多次元ソリューションの比較」を参照してください。

基本アーキテクチャ

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

AMO running objects relationships

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

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

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

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

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

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

オブジェクトの継承

ASSL オブジェクト モデルには繰り返される多くの要素グループがあります。 たとえば、要素グループ "Dimensions contain Hierarchyes " は 要素のディメンション階層を定義します。 キューブMeasureGroup の両方に要素グループ "ディメンションには階層含まれます" が含まれています。

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

上位レベルのオブジェクトから継承されるプロパティを明示的にオーバーライドするには、オブジェクトで上位レベルのオブジェクトの構造全体およびプロパティを明示的に繰り返す必要はありません。 オブジェクトで明示的に記述する必要があるプロパティは、オーバーライドするプロパティだけです。 たとえば、CubeDimension には、キューブで無効にする必要がある階層、表示設定を変更する必要がある階層、またはディメンション レベルでレベルの詳細が指定されていない階層のみが一覧表示されます。

オブジェクトで指定される一部のプロパティによって、子オブジェクトや子孫オブジェクトの同じプロパティの既定値が指定されます。 たとえば、 Cube.StorageMode では Partition.StorageMode の既定値が提供されます。 ASSL では、継承された既定値について次のルールが適用されます。

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

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

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

Cube Example 1

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

メジャー

キューブ セル内の値は、Packages と Last という 2 つのメジャーを表します。 Packages メジャーはインポートされたパッケージの数を表し、 Sum 関数を使用してファクトを集計します。 最後のメジャーは入庫日を表し、 Max 関数を使用してファクトを集計します。

ディメンション

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

集計

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

Diagram of measures organized along time dimension

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

パッケージ |時間枠の|すべてのソース |東半球|西半球| |---------- |----------- |------------------ |------------------ |
|All Time|25110|6547|18563|
|上半分|11173|2977|8196|
|第1四半期|5108|1452|3656|
|第2四半期|6065|1525|4540|Jun-28-99|Jun-20-99|Jun-28-99|
|上半期|13937|3570|10367|12 月 29 日から 99 日|12 月 22 日から 99 日まで|12 月 29 日から 99 日|
|第3四半期|6119|1444|4675|9 月 30 日から 99 日|9 月 18 日から 99 日|9 月 30 日から 99 日|
| 第4四半期|7818|2126|5692|12 月 29 日から 99 日|12 月 22 日から 99 日まで|12 月 29 日から 99 日|

最後の |時間枠の|すべてのソース |東半球|西半球| |---------- |----------- |------------------ |------------------ | |すべての時間|12 月 29 日から 99 日|12 月 22 日から 99 日まで|12 月 29 日から 99 日|
前半||Jun-28-99|Jun-20-99|Jun-28-99|
|第1四半期|3 月 30 日から 99 日|3 月 19 日から 99 日|3 月 30 日から 99 日|
|第2四半期|Jun-28-99|Jun-20-99|Jun-28-99|
|後半|12 月 29 日から 99 日|12 月 22 日から 99 日まで|12 月 29 日から 99 日|
|第3四半期|9 月 30 日から 99 日|9 月 18 日から 99 日|9 月 30 日から 99 日|
|第4四半期|12 月 29 日から 99 日|12 月 22 日から 99 日まで|12 月 29 日から 99 日|

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

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

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

メジャーまたは属性 (レベル) メンバー ソース テーブル 基になる列 サンプル列の値
パッケージメジャー 適用できません ImportsFactTable パッケージ 12
Last メジャー 適用できません ImportsFactTable 末尾 May-03-99
Route ディメンションの Route_Category レベル nonground、ground RouteDimensionTable Route_Category Nonground
Route ディメンションの Route 属性 air、sea、road、rail RouteDimensionTable ルート Sea
Source ディメンションの Hemisphere 属性 Eastern Hemisphere、Western Hemisphere SourceDimensionTable Hemisphere Eastern Hemisphere
Source ディメンションの Continent 属性 Africa,Asia,AustraliaEurope,N. America,S. America SourceDimensionTable Continent ヨーロッパ
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 つのキューブ セルのデータは、ファクト テーブルの複数行から派生します。 たとえば、エア メンバー、アフリカ メンバー、および第 1 四半期メンバーの交差部分にあるキューブ セルには、 ImportsFactTable ファクト テーブルの次の行を集計することによって派生した値が含まれています。

Import_ReceiptKey RouteKey SourceKey TimeKey パッケージ 末尾
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、SourceKeyTimeKey 列の各行の値が同じであり、これらの行が同じキューブ セルに寄与することを示しています。

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

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

参照

多次元モデル データベース