次の方法で共有


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

このチュートリアルで既に学習したように、ユーザー階層に属性階層を配置し、キューブ内を移動するためのパスを作ることができます。 ユーザー階層は、都市、州、国/地域などの自然な階層を表したり、従業員名、役職、部署名などのナビゲーション パスを表すことができます。 階層内を移動するユーザーにとっては、どちらのユーザー階層も変わりません。

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

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

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

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

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

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

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

    Geography テーブルの非キー属性を 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. [ディメンション構造] タブをクリックします。

    Geography と他の属性との最後の属性リレーションシップを削除すると、その Geography 自体が削除されます。 その後は属性が使用されなくなるためです。

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

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 プロパティは フレキシブル に設定されています。これは、国または地域のグループ化が時間の経過と同時に変化する可能性があり、また、国/地域のグループ化が時間の経過と同時に変化する可能性があるためです。

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

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

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

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

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

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 階層の属性に対する属性リレーションシップの定義

  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 階層の属性に対する属性リレーションシップの定義

  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. SQL Server Data Tools (SSDT) の [ビルド] メニューで、[Analysis Services チュートリアルの配置] をクリックします。

このレッスンの次の作業

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

参照

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