ユーザー定義階層の属性間での属性リレーションシップの指定

このチュートリアルで既に学習したように、ユーザー階層に属性階層を配置し、キューブ内を移動するためのパスを作ることができます。ユーザー階層は、市区町村、州、国などの一般階層を表せるほか、従業員名、役職、部署名のように操作パスのみを表すこともできます。階層内を移動するユーザーにとっては、どちらのユーザー階層も変わりません。

一般階層で、各層を構成する属性間に属性リレーションシップが定義されている場合、Microsoft SQL Server 2005 Analysis Services (SSAS) は、ある階層の集計結果を使用して、その階層に関連付けられている別の階層の結果を取得することができます。属性間にリレーションシップを定義していない場合は、キー属性からすべての非キー属性が集計されます。また、前に学習したように、属性リレーションシップを定義する際、リレーションシップを変更できるようにするのか、または固定するのかを指定できます。固定のリレーションシップを定義した場合、ディメンションの更新時の集計が保持されます。固定のリレーションシップを変更すると、ディメンションが完全に処理されない限り、処理の途中でエラーが発生します。適切なリレーションシップおよびリレーションシップのプロパティを指定することにより、クエリと処理のパフォーマンスが向上します。詳細については、「属性リレーションシップの定義および構成」および「ユーザー定義階層のプロパティの構成」を参照してください。

このトピックの実習では、Analysis Services Tutorial プロジェクトの一般ユーザー階層の属性に属性リレーションシップを定義します。対象となるのは、Customer ディメンションの Customer Geography 階層、Sales Territory ディメンションの Sales Territory 階層、Product ディメンションの Product Model Lines 階層、Time ディメンションの Fiscal Time 階層と Calendar Time 階層です。これらのユーザー階層は、すべて一般階層です。

Customer Geography 階層の属性に対する属性リレーションシップの定義

Customer Geography 階層の属性に属性リレーションシップを定義するには

  1. Customer ディメンションのディメンション デザイナに切り替え、[ディメンション構造] タブをクリックします。

    [階層とレベル] ペインを見ると、Customer Geography ユーザー定義階層に複数のレベルがあることがわかります。Customer Geography 階層は、現時点ではまだドリルスルー パスにすぎず、レベル間または属性間のリレーションシップは定義されていません。

  2. [属性] ペインで、Geography 属性を展開します。

    Geography テーブルの非キー属性を同テーブルのキー属性にリンクする、4 つの属性リレーションシップがあります。

  3. [属性] ペインで、Full Name 属性を展開します。

    Geography 属性が Full Nam 属性に関連付けられています。また、Geography 属性を介して、Postal Code 属性も Full Name 属性に間接的にリンクしています。Postal Code 属性は Geography 属性にリンクし、Geography 属性は Full Name 属性にリンクしているためです。

  4. Geography 属性に表示されている Postal Code 属性リレーションシップを、Full Name 属性の <新しい属性リレーションシップ> タグにドラッグします。

    Postal Code 属性が直接 Full Name 属性に関連付けられました。[プロパティ] ウィンドウを確認すると、この属性の RelationshipType プロパティが Flexible に設定されています。顧客と郵便番号の間のリレーションシップは時間と共に変わることがあるため、この設定は適切です。

  5. [属性] ペインで、Postal Code 属性を展開します。

    現在、City 属性は、Geography 属性を介して Postal Code 属性に関連付けられています。直接的には関連付けられていません。

  6. Geography 属性に表示されている City 属性リレーションシップを、Postal Code 属性の <新しい属性リレーションシップ> タグにドラッグします。

    City 属性が直接 Postal Code 属性に関連付けられました。[プロパティ] ウィンドウを確認すると、この属性の RelationshipType プロパティが Flexible に設定されています。都市と郵便番号の間のリレーションシップは時間と共に変わることがあるため、この設定は適切です。

  7. [属性] ペインで、[City] を展開します。

    現在、State-Province 属性は、Full Name および Geography 属性を介して City 属性に関連付けられています。

  8. Geography 属性に表示されている State Province Name 属性リレーションシップを、City 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性リレーションシップの RelationshipType プロパティの値を Rigid に変更します。

    都市と州の間のリレーションシップは時間が経過しても変わらないので、この属性リレーションシップの RelationshipType プロパティ値を Rigid に設定する必要があります。

  9. 属性ペインで [State-Province] を展開し、Geography 属性の Country-Region 属性リレーションシップを、State-Province 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性リレーションシップの RelationshipType プロパティの値を Rigid に変更します。

    State-Province 属性と Country-Region 属性の間のリレーションシップは時間が経過しても変わらないので、この属性リレーションシップの RelationshipType プロパティの値を Rigid に設定する必要があります。

  10. [属性] ペインで、Geography 属性を削除します。

    この属性は不要になりました。

ms166553.note(ja-jp,SQL.90).gifメモ :
この実習では、新しい属性リレーションシップを属性ごとに作成するのではなく、Geography 属性の属性リレーションシップを他の属性に移動しました。リレーションシップを重複して定義すると通常、値は加算されなくても処理時間が長くなります。

Sales Territory 階層の属性に対する属性リレーションシップの定義

Sales Territory 階層の属性に属性リレーションシップを定義するには

  1. Sales Territory ディメンションのディメンション デザイナを開き、[ディメンション構造] タブをクリックします。

  2. [階層とレベル] ペインで Sales Territories 階層をクリックし、[Sales Territory Region] および [Sales Territory Country] を展開します。

    Sales Territory Group は、キー属性である Sales Territory Region に直接リンクしており、Sales Territory Country 属性にはリンクしていません。

  3. Sales Territory Region 属性の Sales Territory Group 属性リレーションシップを、Sales Territory Country 属性の <新しい属性リレーションシップ> タグにドラッグします。

    Sales Territory Group が Sales Territory Country にリンクされ、Sales Territory Country が Sales Territory Region にリンクされました。国内の販売グループや販売区域は時間と共に変わることがあり、各国の販売グループの編成も時間と共に変わる可能性があるので、これらのリレーションシップの RelationshipType プロパティは Flexible に設定します。

    メモ   ユーザー定義階層の属性リレーションシップは、[属性] ペインまたは [階層とレベル] ペインのいずれかで設定できます。

Product Model Lines 階層の属性に対する属性リレーションシップの定義

Product Model Lines 階層の属性に属性リレーションシップを定義するには

  1. Product ディメンションのディメンション デザイナを開き、[ディメンション構造] タブをクリックします。

  2. [属性] ペインで、Model Name 属性とProduct Name 属性を展開します。

  3. Product Name 属性に表示されている Product Line 属性リレーションシップを、Model Name 属性の <新しい属性リレーションシップ> タグにドラッグします。

    製品ラインとモデル名の間のリレーションシップは時間と共に変わる可能性があるので、この属性リレーションシップの RelationshipType プロパティは Flexible に設定します。

Fiscal Time 階層の属性に対する属性リレーションシップの定義

Fiscal Time 階層の属性に属性リレーションシップを定義するには

  1. Time ディメンションのディメンション デザイナに切り替え、[ディメンション構造] タブをクリックします。

  2. [属性] ペインで次の属性を展開します。

    • Date
    • Month Name
    • Fiscal Quarter
    • Fiscal Semester
  3. Date 属性に表示されている Fiscal Quarter 属性リレーションシップを、Month Name 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性の RelationshipType プロパティの値を Rigid に設定します。

  4. Date 属性に表示されている Fiscal Semester 属性リレーションシップを、Fiscal Quarter 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性の RelationshipType プロパティの値を Rigid に設定します。

  5. Date 属性に表示されている Fiscal Year 属性リレーションシップを、Fiscal Semester 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性の RelationshipType プロパティの値を Rigid に設定します。

Calendar Time 階層の属性に対する属性リレーションシップの定義

Calendar Time 階層の属性に属性リレーションシップを定義するには

  1. [属性] ペインで、Month Name 属性、Calendar Quarter 属性、および Calendar Semester 属性を展開します。

  2. Date 属性に表示されている Calendar Quarter 属性リレーションシップを、Month Name 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性の RelationshipType プロパティの値を Rigid に設定します。

  3. Date 属性に表示されている Calendar Semester 属性リレーションシップを、Calendar Quarter 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性の RelationshipType プロパティの値を Rigid に設定します。

  4. Date 属性に表示されている Calendar Year 属性リレーションシップを、Calendar Semester 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性の RelationshipType プロパティの値を Rigid に設定します。

Geography 階層の属性に対する属性リレーションシップの定義

Geography 階層の属性に属性リレーションシップを定義するには

  1. Geography ディメンションのディメンション デザイナを開き、[ディメンション構造] タブをクリックします。

  2. [属性] ペインで次の属性を展開します。

    • City
    • Geography Key
    • Postal Code
    • State-Province
  3. Geography Key 属性に表示されている City 属性リレーションシップを、Postal Code 属性の <新しい属性リレーションシップ> タグにドラッグします。

    都市の郵便番号は時間と共に変わる可能性があるので、この属性の RelationshipType プロパティは Flexible に設定します。

  4. Geography Key 属性に表示されている State -Province 属性リレーションシップを、City 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性の RelationshipType プロパティの値を Rigid に設定します。

  5. Geography Key 属性に表示されている Country-Region 属性リレーションシップを、State-Province 属性の <新しい属性リレーションシップ> タグにドラッグします。次に、この属性の RelationshipType プロパティの値を Rigid に設定します。

  6. Geography Key 属性を not visible、not optimized、not ordered に設定します。

  7. Analysis Services Tutorial プロジェクトを配置します。

このレッスンの次の作業

不明なメンバと NULL 処理のプロパティの定義

参照

その他の技術情報

属性リレーションシップの定義および構成
ユーザー定義階層のプロパティの構成

ヘルプおよび情報

SQL Server 2005 の参考資料の入手