親子階層は、2 つのテーブル列に基づくディメンション内の階層です。 これらの列を組み合わせて、ディメンションのメンバー間の階層リレーションシップを定義します。 メンバー キー列と呼ばれる最初の 列は、各ディメンション メンバーを識別します。 もう 1 つの列は 親列と呼ばれ、各ディメンション メンバーの親を識別します。 親属性の NamingTemplate プロパティは親子階層の各レベルの名前を決定し、 MembersWithData プロパティは親メンバーのデータを表示するかどうかを決定します。
詳細については、「Parent-Child 階層、Parent-Child 階層の属性」を参照してください。
注
ディメンション ウィザードを使用してディメンションを作成すると、親子リレーションシップを持つテーブルが認識され、親子階層が自動的に定義されます。
このトピックのタスクでは、 Employee ディメンションの親子階層の各レベルの名前を定義する名前付けテンプレートを作成します。 次に、親属性を構成して、すべての親データを非表示にして、リーフ レベルのメンバーの売上のみが表示されるようにします。
従業員ディメンションの閲覧
ソリューション エクスプローラーで、[ディメンション] フォルダーの [Employee.dim] をダブルクリックして、Employee ディメンションのディメンション デザイナーを開きます。
[ブラウザー] タブをクリックし、[階層] の一覧で [従業員] が選択されていることを確認し、[すべての従業員] メンバーを展開します。
Ken J. Sánchez がこの親子階層の最上位のマネージャーであることに注意してください。
Ken J. Sánchez メンバーを選択します。
このメンバーのレベル名が レベル 02 であることに注意してください。 (レベル名は 現在のレベル の後に表示されます。 [すべての従業員] メンバーのすぐ上)。次のタスクでは、レベルごとにわかりやすい名前を定義します。
Ken J. Sánchez を展開して、このマネージャーに報告する従業員の名前を表示し、Brian S. Welcker を選択してこのレベルの名前を表示します。
このメンバーのレベル名が レベル 03 であることに注意してください。
ソリューション エクスプローラーで、[キューブ] フォルダーの [Analysis Services Tutorial.cube] をダブルクリックして、Analysis Services Tutorial キューブのキューブ デザイナーを開きます。
[ ブラウザー ] タブをクリックします。
[Excel] アイコンをクリックし、接続 を有効に するように求められたら [有効にする] をクリックします。
ピボットテーブル フィールド リストで、 Reseller Sales を展開します。 [リセラー] Sales-Sales [金額] を [値] 領域にドラッグします。
[ピボットテーブル フィールド リスト] で [ 従業員] を展開し、[ 従業員 ] 階層を [行 ] 領域にドラッグします。
Employees 階層のすべてのメンバーは、ピボットテーブル レポートの列 A に追加されます。
次の図は、展開された Employees 階層を示しています。
レベル 03 の各マネージャーによって行われた売上もレベル 04 に表示されていることに注意してください。 これは、各マネージャーが別のマネージャーの従業員でもあるためです。 次のタスクでは、これらの販売金額を非表示にします。
Employee ディメンションの親属性プロパティの変更
Employee ディメンションのディメンション デザイナーに切り替えます。
[ ディメンション構造 ] タブをクリックし、[属性] ウィンドウで [従業員 ] 属性階層を 選択します。
この属性の一意のアイコンに注目してください。 このアイコンは、属性が親子階層の親キーであることを示します。 また、[プロパティ] ウィンドウで、属性の Usage プロパティが Parent として定義されていることにも注意 してください。 このプロパティは、ディメンションの設計時にディメンション ウィザードによって設定されました。 ウィザードによって親子関係が自動的に検出されました。
[プロパティ] ウィンドウで、NamingTemplate プロパティ セルの省略記号ボタン (...) をクリックします。
[ レベル名前付けテンプレート ] ダイアログ ボックスでは、キューブを参照するときにユーザーに表示される親子階層のレベル名を決定するレベル名前付けテンプレートを定義します。
2 番目の行の*行で、[名前] 列に「Employee Level * 」と入力し、3 番目の行をクリックします。
[結果]の下に、各レベルが「従業員レベル」という名称に変更され、続いて順番に増加する番号が付けられます。
次の図は、[ レベルの名前付けテンプレート ] ダイアログ ボックスの変更を示しています。
OK をクリックします。
Employees 属性のプロパティ ウィンドウの MembersWithData プロパティ セルで、NonLeafDataHidden を選択して Employees 属性のこの値を変更します。
これにより、親子階層内の非リーフ レベルのメンバーに関連するデータが非表示になります。
修正された属性を使用して、従業員ディメンションを参照する
SQL Server Data Tools (SSDT) の [ビルド ] メニューで、[ Analysis Services チュートリアルの展開] をクリックします。
配置が正常に完了したら、Analysis Services チュートリアル キューブのキューブ デザイナーに切り替えて、[ブラウザー] タブのツール バーの [再接続] をクリックします。
Excel アイコンをクリックし、[ 有効] をクリックします。
[リセラー] Sales-Sales [金額] を [値] 領域にドラッグします。
[従業員] 階層を [行ラベル] 領域にドラッグします。
次の図は、Employees 階層に加えた変更を示しています。 ステファン・Y・ジャンが自分の従業員として現れなくなったことに注意してください。