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

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

一般階層で、各層を構成する属性間に属性リレーションシップが定義されている場合、Analysis Services は、1 つの階層の集計結果を使用して、その階層に関連付けられている別の階層の結果を取得することができます。属性間にリレーションシップを定義していない場合は、キー属性からすべての非キー属性が集計されます。そのため、基になるデータで属性リレーションシップがサポートされる場合、属性間の属性リレーションシップを定義する必要があります。属性リレーションシップを定義すると、ディメンション、パーティション、およびクエリの処理パフォーマンスが向上します。詳細については、「属性リレーションシップの定義」および「属性リレーションシップ」を参照してください。

属性リレーションシップを定義する際、リレーションシップを変更できるようにするのか、または固定するのかを指定できます。固定のリレーションシップを定義した場合、ディメンションの更新時の集計が保持されます。固定のリレーションシップを変更すると、ディメンションが完全に処理されない限り、処理の途中でエラーが発生します。適切なリレーションシップおよびリレーションシップのプロパティを指定することにより、クエリと処理のパフォーマンスが向上します。詳細については、「属性リレーションシップの定義」および「ユーザー階層プロパティ」を参照してください。

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

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

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

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

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

  2. [属性リレーションシップ] タブをクリックします。

    Geography テーブルの非キー属性を同テーブルのキー属性にリンクする、4 つの属性リレーションシップがあります。Geography 属性が Full Name 属性に関連付けられています。Geography 属性を介して、Postal Code 属性が Full Name 属性に間接的にリンクしています。Postal Code 属性は Geography 属性にリンクし、Geography 属性は Full Name 属性にリンクしているためです。次に、属性リレーションシップを変更して、Geography 属性を使用できないようにします。

  3. ダイアグラムで、[Full Name] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  4. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Full Name] にします。[関連属性][Postal Code] に設定します。メンバ間のリレーションシップが時間の経過と共に変化する可能性があるため、[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類の設定は [可変] のままにします。

  5. [OK] をクリックします。

    リレーションシップが重複しているため、ダイアグラムに警告アイコンが表示されます。リレーションシップ Full Name -> Geography -> Postal Code が既に存在する状態で、リレーションシップ Full Name -> Postal Code を作成しました。リレーションシップ Geography -> Postal Code が重複しているため、このリレーションシップを削除します。

  6. [属性リレーションシップ] ペインで、[Geography -> Postal Code] を右クリックし、[削除] をクリックします。

  7. [オブジェクトの削除] ダイアログ ボックスが表示されたら、[OK] をクリックします。

  8. ダイアグラムで、[Postal Code] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  9. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Postal Code] を指定します。[関連属性][City] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類の設定を [可変] のままにします。

  10. [OK] をクリックします。

    リレーションシップ Geography -> City が重複しているため、このリレーションシップを削除します。

  11. [属性リレーションシップ] ペインで、[Geography -> City] を右クリックし、[削除] をクリックします。

  12. [オブジェクトの削除] ダイアログ ボックスが表示されたら、[OK] をクリックします。

  13. ダイアグラムで、[City] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  14. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][City] を指定します。[関連属性][State-Province] に設定します。市区町村と都道府県のリレーションシップは時間が経過しても変化しないので、[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  15. [OK] をクリックします。

  16. [Geography][State-Province] の間の矢印を右クリックし、[削除] をクリックします。

  17. [オブジェクトの削除] ダイアログ ボックスが表示されたら、[OK] をクリックします。

  18. ダイアグラムで、[State-Province] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  19. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][State-Province] を指定します。[関連属性][Country-Region] に設定します。都道府県と国/地域のリレーションシップは時間が経過しても変化しないので、[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  20. [OK] をクリックします。

  21. [属性リレーションシップ] ペインで、[Geography -> Country-Region] を右クリックし、[削除] をクリックします。

  22. [オブジェクトの削除] ダイアログ ボックスが表示されたら、[OK] をクリックします。

  23. [ディメンション構造] タブをクリックします。

  24. [属性] ペインで、[Geography] 属性を右クリックし、[削除] をクリックします。

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

  25. [オブジェクトの削除] ダイアログ ボックスが表示されたら、[OK] をクリックします。

  26. [ファイル] メニューの [すべてを保存] をクリックします。

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

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

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

  2. ダイアグラムで、[Sales Territory Country] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  3. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Sales Territory Country] を指定します。[関連属性][Sales Territory Group] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類の設定を [可変] のままにします。

  4. [OK] をクリックします。

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

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

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

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

  2. ダイアグラムで、[Model Name] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  3. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Model Name] を指定します。[関連属性][Product Line] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類の設定を [可変] のままにします。

  4. [OK] をクリックします。

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

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

  1. Date ディメンションのディメンション デザイナに切り替えて、[属性リレーションシップ] タブをクリックします。

  2. ダイアグラムで、[Month Name] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  3. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Month Name] を指定します。[関連属性][Fiscal Quarter] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  4. [OK] をクリックします。

  5. ダイアグラムで、[Fiscal Quarter] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  6. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Fiscal Quarter] を指定します。[関連属性][Fiscal Semester] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  7. [OK] をクリックします。

  8. ダイアグラムで、[Fiscal Semester] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  9. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Fiscal Semester] を指定します。[関連属性][Fiscal Year] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  10. [OK] をクリックします。

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

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

  1. ダイアグラムで、[Month Name] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  2. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Month Name] を指定します。[関連属性][Calendar Quarter] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  3. [OK] をクリックします。

  4. ダイアグラムで、[Calendar Quarter] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  5. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Calendar Quarter] を指定します。[関連属性][Calendar Semester] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  6. [OK] をクリックします。

  7. ダイアグラムで、[Calendar Semester] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  8. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Calendar Semester] を指定します。[関連属性][Calendar Year] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  9. [OK] をクリックします。

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

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

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

  2. ダイアグラムで、[Postal Code] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  3. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][Postal Code] を指定します。[関連属性][City] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [可変] に設定します。

  4. [OK] をクリックします。

  5. ダイアグラムで、[City] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  6. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][City] を指定します。[関連属性][State-Province] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  7. [OK] をクリックします。

  8. ダイアグラムで、[State-Province] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。

  9. [属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性][State-Province] を指定します。[関連属性][Country-Region] に設定します。[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類を [固定] に設定します。

  10. [OK] をクリックします。

  11. ダイアグラムで、[Geography Key] 属性を右クリックし、[プロパティ] をクリックします。

  12. AttributeHierarchyOptimizedState プロパティを NotOptimized に設定し、AttributeHierarchyOrdered プロパティを False に設定し、AttributeHierarchyVisible プロパティを False に設定します。

  13. [ファイル] メニューの [すべてを保存] をクリックします。

  14. Business Intelligence Development Studio で、[ビルド] メニューの [Analysis Services Tutorial の配置] をクリックします。