次の方法で共有


データ ソースに基づく標準タイプのディメンションの定義

標準ディメンションとは、属性がデータ ソース ビューの 1 つ以上のテーブルの列にバインドしているディメンションです。通常は、最初にデータ ソース ビューを定義してから、データ ソース ビューを基にディメンションを定義します。データ ソースを使用してディメンションを定義するとき、ディメンションを定義するデータ ソース ビューを指定します。このオプションを使用すると、ディメンション構造はディメンション テーブル、その列、および既存のデータ ソース ビュー内のテーブルの列間のリレーションに基づきます。

既存のデータ ソースに基づいて新しいディメンションを作成するときは、自動構築を使用すると、ディメンションとその属性を簡単に定義できます。自動構築を有効にすると、Business Intelligence Development Studio がソース テーブルおよび関連テーブル内のデータをサンプル抽出します。その後、このデータを使用して、ディメンション テーブル内の列に基づいて属性列を定義したり、属性の階層 (ユーザー定義階層と呼ばれます) を定義したりします。自動構築を使用するかどうかにかかわらず、ディメンション ウィザードを使用してディメンションに対して属性と階層を追加、削除、および設定した後でディメンション デザイナを使用できます。

ディメンションの種類の選択とディメンション テーブルの定義

次に、サーバーの時間ディメンションを定義するのか標準タイプのディメンションを定義するのかを指定します。サーバーの時間ディメンションの詳細については、「サーバー時間ディメンションの定義」を参照してください。

標準ディメンションを時間ディメンションとして定義する場合

ディメンション ウィザードでディメンションを [時間ディメンション] として定義する場合、ディメンションの種類が時間の標準ディメンションを定義していることになります。これは、時間ディメンションで使用する時間属性の列が含まれているディメンション テーブルにバインドされます。

データ ソース ビューでこのディメンション テーブルを指定した後、基になる時間ディメンション テーブルの列を Analysis Services の時間プロパティ名にマップします。たとえば、時間テーブルの列 CalendarYear を時間プロパティ Year に、時間テーブルの列 CalendarSemester を時間プロパティ Half Year にマップします。時間プロパティにマップされる各列は、新しく定義したディメンションの属性になり、ディメンション ウィザードで時間ディメンションに定義できるのは、時間プロパティにマップされる属性のみです。ディメンションと属性の種類の詳細については、「時間 (SSAS)」、「ディメンションの種類の定義」、および「属性の種類の構成」を参照してください。

最後に、時間プロパティにマップした列に基づいて、カレンダー階層や会計階層などに 1 つ以上の階層が定義されます。後でディメンション デザイナを使用して時間ディメンションの属性を追加できます。たとえば、カレンダーや会計の時間属性に時間プロパティを定義できますが、追加属性を定義して、マーケティング カレンダーや製造カレンダーなどにさらに時間階層を定義できます。属性とユーザー定義階層の定義の詳細については、「ディメンションと属性の定義および構成」および「ユーザー定義階層の定義と構成」を参照してください。

標準ディメンションの定義

ディメンション ウィザードでディメンションを標準ディメンションとして定義すると、そのディメンションの種類を定義せずに標準ディメンションを定義します。そのディメンションの種類は後でウィザードで定義します。

メイン ディメンション テーブルの選択

まず、定義するディメンションのメイン ディメンション テーブルを定義します。これは、ファクト テーブルに直接リンクするテーブルです。たとえば、Products ディメンションには Product テーブルを指定し、Employees ディメンションには Employee テーブルを指定します。このテーブル内で、このテーブルをファクト テーブルにリンクするキー列を指定します。たとえば、Product ディメンションのキー列として ProductKey を定義します。自動構築を指定した場合は、データ ソース ビューで定義した主キーに基づいてこのキーが定義されます。キー列によってディメンションのメンバが決まります。

オプションで、メンバ名を含む列を定義できます。既定では、ユーザーに表示されるメンバ名が列の値になります。多くの場合、ProductIDEmployeeID などのキー列の値は、ユーザーにとって意味のない、システムで生成される一意のキーです。ユーザーに表示される値を、ディメンションの他の列の対応する値に変更することもできます。メンバ名の列には、製品名や従業員名などの意味のある値を指定できます。ディメンションを参照するユーザーは、キー属性のメンバの意味のある情報 (ID 番号ではなく製品番号など) を表示できるようになりますが、クエリでは同じ名前を共有するメンバを正しく区別できるようにキー列の値を使用します。キー列に複合キーが指定されている場合は、ウィザードの次のページに進む前に、キー属性のメンバの値を提供する列を指定する必要があります。ディメンション デザイナで属性のプロパティを構成する詳細については、「ディメンションと属性の定義および構成」を参照してください。

関連テーブルの指定

次に、スノーフレーク ディメンションを構築している場合は、追加属性の定義に使用する関連テーブルを指定します。たとえば、顧客の地理テーブルを定義する customer ディメンションを構築する場合は、地理テーブルを関連テーブルとして定義します。

ms175589.note(ja-jp,SQL.90).gifメモ :
メイン ディメンション テーブルに他のディメンション テーブルとのリレーションシップがデータ ソース ビューで定義されていない場合は、ウィザードでこの手順が省略されます。

ディメンションの属性の選択

ディメンションの基になるディメンション テーブルのすべてを定義したら、ディメンションに含める属性をこれらのテーブルから定義します。自動構築を指定した場合は、これらの全テーブルの基になるすべての列がディメンションの属性として定義されます。一覧の属性ごとに、名前、キー列、および名前列を指定できます。属性名の変更は、ウィザードを使用するか、後でディメンション デザイナを使用して行うことができます。属性がディメンション テーブルの説明の列に基づいているときは、同じ列にキー列設定と名前列設定の両方を設定できます。ただし、属性がディメンション テーブルのキー列を参照する場合は、名前列として意味のある列を指定することもできます。たとえば、製品ディメンションの製品カテゴリ属性がキー列として ProductCategoryKey 列を使用する場合は、名前列として ProductCategoryName 列を指定できます。この属性のその後のクエリでは、ユーザーに意味のある名前が表示されますが、同じ名前のメンバは正しく区別されます。

: ウィザードの [ディメンション属性の選択] ページの列の値が読めない場合は、ウィザード ウィンドウを最大化して各列の見出しの幅を変更します。

ディメンションの種類の指定

次に、標準的な属性の種類にディメンションの属性をマップするためにディメンションの種類を指定します。既定では、標準ディメンションのディメンションの種類はすべて [Regular] です。ウィザードで指定したディメンションとディメンションの種類は、ディメンションと属性に Type プロパティを設定します。

最初に、[ディメンションの種類] で、ディメンションの Type プロパティ設定を定義するディメンションの種類を選択します。Type プロパティ設定で、サーバーおよびクライアント アプリケーションにディメンションのコンテンツに関する情報を指定します。Type 設定ではクライアント アプリケーションの説明を提供するだけで、この設定が省略可能である場合もあります。また、勘定科目時間通貨ディメンションの場合は、ディメンションおよびその属性の Type プロパティ設定によって特定のサーバーベースの動作が決まり、キューブ内で所定の動作を実装する必要が生じる場合もあります。ディメンションの種類の既定の設定は [標準] で、ディメンションのコンテンツに関する仮定は行われません。[ディメンションの種類] に適切な種類が一覧表示されない場合は、この設定を使用します。

ディメンションの種類を選択後、[ディメンションの属性] のテーブルにディメンションの種類に適した属性の型が一覧表示されます。次に、ディメンションに存在する標準属性をこれらの標準的な属性の型にマッピングできます。これらのマッピングを行うには、ディメンションに対応する属性がある標準的な属性の型の隣の [追加] の下にあるチェック ボックスをオンにします。次に、[ディメンションの属性] で対応する属性を選択します。

たとえば、Adventure Works DW サンプル データベースの dbo.DimAccount テーブルには、勘定科目名を指定する AccountDescription 列、勘定科目番号を指定する AccountCodeAlternateKey 列、勘定科目の種類を指定する AccountType 列が含まれています。このテーブルに基づいて勘定科目ディメンションを作成するときは、最初に [ディメンションの種類][勘定科目] を選択します。[ディメンションの属性] のテーブルには、勘定科目ディメンションの 4 つの標準的な属性の型である [勘定科目一覧表][勘定科目名][勘定科目番号]、および [勘定科目の種類] が表示されます。テーブルの [追加] 列で、次の 3 つの勘定科目タイプの隣にあるチェック ボックスをオンにしてから、次のリストに示すように各属性タイプにつきディメンションの属性を選択します。

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

勘定科目名

勘定科目の説明

勘定科目番号

勘定科目コードの代替キー

[勘定科目の種類]

[勘定科目の種類]

ms175589.note(ja-jp,SQL.90).gifメモ :
ディメンションの作成時にこれらの設定が指定されていない場合は、ビジネス インテリジェンス ウィザードを使用してディメンションの種類を設定し、既存のディメンションに標準的な属性の種類を割り当てることができます。詳細については、「ディメンションへのディメンション インテリジェンスの追加」、または (種類が勘定科目ディメンションの場合は) 「ディメンションへの勘定科目インテリジェンスの追加」を参照してください。

ディメンションと属性の種類の詳細については、「ディメンションの種類の定義」、「属性の種類の構成」を参照してください。

勘定科目インテリジェンスの定義

ms175589.note(ja-jp,SQL.90).gifメモ :
ディメンション ウィザードでは、種類が勘定科目ディメンションで、ウィザードの [ディメンションの種類を指定] ページで [勘定科目の種類] ディメンション属性を定義した場合のみ、この手順が表示されます。

ディメンション ウィザードの [勘定科目インテリジェンスの定義] ページを使用して、Analysis Services でサポートしている標準的な勘定科目の種類を、ディメンションの勘定科目の種類の属性のメンバにマッピングします。サーバーではこれらのマッピングを使用して、勘定科目データの種類ごとに個別の集計関数と別名を指定します。

ウィザードのこのページのテーブルでは、[基になるテーブルの勘定科目の種類] の下にデータ ソース テーブルの勘定科目の種類が一覧表示されます。[ビルトイン勘定科目の種類] で、サーバーがサポートしている対応する標準的な勘定科目の種類を選択します。基になるデータが標準名を使用している場合はこの列が既に作成されており、ウィザードで指定されたマッピングを確認できます。

ms175589.note(ja-jp,SQL.90).gifメモ :
  勘定科目ディメンションの作成時にこれらの設定が作成されていない場合は、ビジネス インテリジェンス ウィザードを使用して既存の勘定科目ディメンションを設定できます。詳細については、「ディメンションへの勘定科目インテリジェンスの追加」を参照してください。

親子リレーションシップの定義

ウィザードの [親子リレーションシップの定義] ページを使用して、ディメンションに親子リレーションシップが存在するかどうかを指定します。親属性がディメンションのキー属性のメンバを参照するときには、親子リレーションシップが存在します。このリレーションシップによって、ディメンションのリーフ メンバ間の集計パスだけでなく階層のリレーションシップも定義されます。自動構築を有効にしている場合は、親子関係が検出されます。

ms175589.note(ja-jp,SQL.90).gifメモ :
複数の要素で構成されるキー (複合キー) を使用して親子リレーションシップを定義することはできません。

親子リレーションシップが存在しない場合は、[このディメンションに属性間の親子リレーションシップを含める] チェック ボックスをオンにしてから、リレーションシップの親属性を指定します。たとえば、Employee ディメンションのキー属性が Employee である場合は、親属性として Supervisor を指定します。[プレビュー] ペインに子および親属性のサンプル値が表示されます。

親子階層の詳細については、「親子階層での属性の操作」を参照してください。

階層の検出と確認

自動構築を使用する場合は、ウィザードでディメンション テーブルがスキャンされ、階層を構築するリレーションシップが検出されます。ディメンション テーブルのスキャンが終わると、検出された階層を確認して、ディメンションに含めたいビジネス ロジックを表しているかどうかを調べることができます。階層にはデータ ソース ビューの構造に基づいて信頼できる予想が表されるので、ビジネス上の問題に特定の階層が役立つことがある場合もない場合もあります。新しい階層を確認し、組織に不要なレベルまたは階層全体を消去できます。ウィザードの完了後、ディメンション デザイナの [ディメンション構造] タブを使用して、階層を確認したり設定したりすることもできます。詳細については、「ユーザー定義階層の定義と構成」を参照してください。

参照

概念

データ ソースを使用しない標準ディメンションの定義
サーバー時間ディメンションの定義
スキーマ生成ウィザードの概要
ディメンションと属性の定義および構成

ヘルプおよび情報

SQL Server 2005 の参考資料の入手