次の方法で共有


属性階層の非表示と無効化

既定では、ディメンション内のすべての属性に対して属性階層が作成され、各階層はファクト データのディメンションに使用できます。 この階層は、"すべて" レベルと、階層のすべてのメンバーを含む詳細レベルで構成されます。 既に学習したように、属性をユーザー定義階層に整理して、キューブ内のナビゲーション パスを提供できます。 特定の状況では、一部の属性とその階層を無効または非表示にすることができます。 たとえば、社会保障番号や国民識別番号、給与率、生年月日、ログイン情報などの特定の属性は、ユーザーがキューブ情報をディメンション化する属性ではありません。 代わりに、この情報は通常、特定の属性メンバーの詳細としてのみ表示されます。 これらの属性階層を非表示にし、属性は特定の属性のメンバー プロパティとしてのみ表示されるようにすることができます。 また、顧客名や郵便番号などの他の属性のメンバーを、属性階層を介して独立して表示するのではなく、ユーザー階層を介して表示される場合にのみ表示されるようにすることもできます。 これを行う理由の 1 つは、属性階層内の個別のメンバーの数が非常に多い場合があります。 最後に、処理のパフォーマンスを向上させるには、ユーザーが参照に使用しない属性階層を無効にする必要があります。

AttributeHierarchyEnabled プロパティの値は、属性階層が作成されるかどうかを決定します。 このプロパティが False に設定されている場合、属性階層は作成されず、属性をユーザー階層のレベルとして使用することはできません。属性階層はメンバー プロパティとしてのみ存在します。 ただし、無効な属性階層を使用して、別の属性のメンバーを並べ替えることができます。 AttributeHierarchyEnabled プロパティの値が True に設定されている場合、AttributeHierarchyVisible プロパティの値は、属性階層がユーザー定義階層での使用とは無関係に表示されるかどうかを決定します。

属性階層が有効になっている場合は、次の 3 つの追加プロパティの値を指定できます。

  • IsAggregatable(集計可能かどうか)

    既定では、(All) レベルはすべての属性階層に対して定義されます。 有効な属性階層の (すべて) レベルを無効にするには、このプロパティの値を False に設定 します

    IsAggregatable プロパティが false に設定されている属性は、ユーザー定義階層のルートとしてのみ使用でき、既定のメンバーを指定する必要があります (それ以外の場合は、Analysis Services エンジンによって選択されます)。

  • 属性階層の順序付け

    既定では、Analysis Services は処理中に有効な属性階層のメンバーを並べ替え、Name や Key などの OrderBy プロパティの値でメンバーを格納します。 順序を気にしない場合は、このプロパティの値を False に設定することで、処理のパフォーマンスを向上させることができます。

  • AttributeHierarchyOptimizedState

    既定では、Analysis Services は、クエリのパフォーマンスを向上させるために、処理中に有効になっている各属性階層のインデックスを作成します。 参照に属性階層を使用する予定がない場合は、このプロパティの値を NotOptimized に設定することで、処理のパフォーマンスを向上させることができます。 ただし、非表示階層をディメンションのキー属性として使用する場合でも、属性メンバーのインデックスを作成するとパフォーマンスが向上します。

属性階層が無効になっている場合、これらのプロパティは適用されません。

このトピックのタスクでは、参照に使用されない従業員ディメンションの社会保障番号やその他の属性を無効にします。 その後、顧客ディメンションの顧客名と郵便番号属性階層を非表示にします。 これらの階層の属性メンバーの数が多いと、ユーザー階層に関係なく、これらの階層の参照が非常に遅くなります。

Employee ディメンションでの属性階層プロパティの設定

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

  2. [階層] の一覧に次の属性 階層 が表示されることを確認します。

    • 基本レート

    • 生年月日

    • ログイン ID

    • マネージャーのマイナンバー

    • SSN

  3. [ ディメンション構造 ] タブに切り替え、[属性] ウィンドウで次の 属性を 選択します。 Ctrl キーを押しながら各メジャーをクリックすると、複数のメジャーを選択できます。

    • 基本レート

    • 生年月日

    • ログイン ID

    • マネージャー社会保障番号

    • SSN

  4. [プロパティ] ウィンドウで、選択した属性の AttributeHierarchyEnabled プロパティの値を False に設定します。

    [属性] ペインで、各属性のアイコンが変更され、属性が有効になっていないことに注意してください。

    次の図は、選択した 属性の AttributeHierarchyEnabled プロパティが False に設定されている状態を示しています。

    AttributeHierarchyEnabled プロパティを False に設定

  5. [ ビルド ] メニューの [ Analysis Services チュートリアルの配置] をクリックします。

  6. 処理が正常に完了したら、[ ブラウザー ] タブに切り替え、[ 再接続] をクリックして、変更した属性階層を参照してみてください。

    変更された属性のメンバーは、 階層リストの 属性階層として参照できません。 無効になっている属性階層のいずれかをユーザー階層のレベルとして追加しようとすると、ユーザー定義階層に参加するために属性階層を有効にする必要があることを通知するエラーが表示されます。

Customer ディメンションでの属性階層プロパティの設定

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

  2. [階層] の一覧に次の属性 階層 が表示されることを確認します。

    • [名前]

    • 郵便番号

  3. [ ディメンション構造 ] タブに切り替え、Ctrl キーを使用して複数の属性を同時に選択し、[ 属性 ] ウィンドウで次の属性を選択します。

    • [名前]

    • 郵便番号

  4. [プロパティ] ウィンドウで、選択した属性の AttributeHierarchyVisible プロパティの値を False に設定します。

    これらの属性階層のメンバーはファクト データのディメンションに使用されるため、これらの属性階層のメンバーの順序付けと最適化によってパフォーマンスが向上します。 したがって、これらの属性のプロパティは変更しないでください。

    次の図は、 AttributeHierarchyVisible プロパティが False に設定されている状態を示しています。

    AttributeHierarchyVisible プロパティを False に設定

  5. 郵便番号属性を属性ウィンドウから階層とレベルウィンドウのカスタマージオグラフィーユーザー階層、市区町村レベルのすぐ下にドラッグします。

    非表示の属性は、引き続きユーザー階層内のレベルになる可能性があることに注意してください。

  6. [ ビルド ] メニューの [ Analysis Services チュートリアルの配置] をクリックします。

  7. デプロイが正常に完了したら、Customer ディメンションの [ ブラウザー ] タブに切り替えて、[ 再接続] をクリックします。

  8. [ 階層 ] ボックスの一覧から、変更された属性階層のいずれかを選択してみてください。

    変更された属性階層はどちらも [ 階層 ] リストに表示されていないことに注意してください。

  9. [階層] の一覧で [Customer Geography] を選択し、ブラウザー ウィンドウで各レベルを参照します。

    非表示のレベルである 郵便番号フル ネームがユーザー定義階層に表示されていることに注意してください。

このレッスンの次の作業

セカンダリ属性に基づく属性メンバーの並べ替え