スキーマ生成ウィザードでは、Analysis Services のディメンションとメジャー グループに基づいて、サブジェクト領域データベースの非正規化リレーショナル スキーマが生成されます。 ウィザードでは、ディメンション テーブルと呼ばれるディメンション データを格納する各ディメンションのリレーショナル テーブルと、ファクト データを格納する各メジャー グループのリレーショナル テーブル (ファクト テーブルと呼ばれます) が生成されます。 ウィザードは、これらのリレーショナル テーブルを生成するときに、リンクディメンション、リンクメジャーグループ、およびサーバー時間ディメンションを無視します。
検証
基になるリレーショナル スキーマの生成を開始する前に、スキーマ生成ウィザードによって Analysis Services キューブとディメンションが検証されます。 ウィザードでエラーが検出されると、SQL Server Data Tools (SSDT) の [タスク一覧] ウィンドウにエラーが停止して報告されます。 生成を妨げるエラーの例を次に示します。
複数のキー属性を持つディメンション。
キー属性とは異なるデータ型を持つ親属性。
メジャーを持たないメジャーグループ。
不適切に構成されたディメンションまたはメジャーが示す情報が正しくない。
ScdOriginalID
属性型を使用する複数の属性や、整数データ型を使用して列にバインドされていないScdOriginalID
を使用する属性など、不適切に構成されたサロゲート キー。
ディメンション テーブル
スキーマ生成ウィザードでは、ディメンションごとに、サブジェクト領域データベースに含めるディメンション テーブルが生成されます。 ディメンション テーブルの構造は、基になっているディメンションを設計する際の選択によって異なります。
列
ウィザードでは、各属性の KeyColumns
、 NameColumn
、 ValueColumn
、 CustomRollupColumn
、 CustomRollupPropertiesColumn
、 UnaryOperatorColumn
プロパティのバインドなど、ディメンション テーブルの基になっているディメンション内の各属性に関連付けられているバインドに対して 1 つの列が生成されます。
人間関係
ウィザードでは、各親属性の列とディメンション テーブルの主キーの間にリレーションシップが生成されます。
また、必要に応じて、キューブ内で参照ディメンションとして定義されている追加の各ディメンション テーブルの主キーとのリレーションシップも生成されます。
制約
ウィザードでは、ディメンションのキー属性に基づいて、各ディメンション テーブルに対して、既定で主キー制約が生成されます。 主キー制約が生成された場合、既定では別の名前列が生成されます。 データベースに主キーを作成しない場合でも、論理主キーがデータ ソース ビューに作成されます。
注
ディメンション テーブルの基になるディメンションに複数のキー属性が指定されている場合、エラーが発生します。
翻訳
ウィザードでは、変換列を必要とする属性の変換された値を保持する別のテーブルが生成されます。 ウィザードでは、必要な言語ごとに個別の列も作成されます。
ファクト テーブル
キューブ内のメジャー グループごとに、スキーマ生成ウィザードによって、サブジェクト領域データベースに含まれるファクト テーブルが生成されます。 ファクト テーブルの構造は、基準となるメジャー グループの設計時に行われた選択と、メジャー グループと含まれるディメンションの間に確立されたリレーションシップによって異なります。
列
ウィザードでは、 Count
集計関数を使用するメジャーを除き、メジャーごとに 1 つの列が生成されます。 このような指標では、ファクトテーブル内の対応する列は必要ありません。
また、ウィザードでは、メジャー グループ上の各標準ディメンション リレーションシップの各粒度属性列に対して 1 つの列が生成され、該当する場合は、このテーブルの基になっているメジャー グループに対するファクト ディメンション リレーションシップを持つディメンションの各属性に関連付けられているバインド用の 1 つ以上の列が生成されます。
人間関係
ウィザードでは、ファクト テーブルからディメンション テーブルの粒度属性への標準ディメンション リレーションシップごとに 1 つのリレーションシップが生成されます。 粒度がディメンション テーブルのキー属性に基づいている場合、リレーションシップはデータベースとデータ ソース ビューで作成されます。 粒度が別の属性に基づいている場合、リレーションシップはデータ ソース ビューでのみ作成されます。
ウィザードでインデックスを生成することを選択した場合、これらのリレーションシップ列ごとに非クラスター化インデックスが生成されます。
制約
主キーはファクト テーブルでは生成されません。
参照整合性を適用することを選択した場合、ディメンション テーブルとファクト テーブルの間で参照整合性制約が生成されます (該当する場合)。
翻訳
ウィザードでは、変換列を必要とするメジャー グループ内のプロパティの変換された値を保持する別のテーブルが生成されます。 ウィザードでは、必要な言語ごとに個別の列も作成されます。
データ型変換と既定の長さ
スキーマ生成ウィザードでは、SQL Server wchar
データ型を使用する列を除くすべてのケースでデータ型が無視されます。
wchar
データ サイズは、nvarchar
データ型に直接変換されます。 ただし、 wchar
サイズを使用する列の指定した長さが 4,000 バイトを超える場合、スキーマ生成ウィザードでエラーが生成されます。
属性のバインドなどのデータ項目の長さが指定されていない場合は、次の表に示す既定の長さが列に使用されます。
データ アイテム | 既定の長さ (バイト) |
---|---|
キー列 | 50 |
NameColumn | 50 |
カスタム集計列 | 3000 |
カスタムロールアッププロパティーズカラム | 500 |
ユーナリーオペレータカラム | 1 |