Excel-power-pivot-hierarchies

提供:Dev Guides
移動先:案内検索

Excel Power Pivot-階層

データモデルの階層は、PowerPivotTableで使用されるときに単一のアイテムと見なされるデータテーブル内のネストされた列のリストです。 たとえば、データテーブルに国、州、市などの列がある場合、3つの列を1つのフィールドに結合するように階層を定義できます。

[PowerPivotTable Fields]リストでは、階層が1つのフィールドとして表示されます。 そのため、階層内の3つのフィールドの代わりに、1つのフィールドのみをピボットテーブルに追加できます。 さらに、ネストされたレベルを意味のある方法で上下に移動できます。

この章の図については、次のデータモデルを検討してください。

階層

階層を作成する

データモデルのダイアグラムビューで階層を作成できます。 単一のデータテーブルのみに基づいて階層を作成できることに注意してください。

  • データテーブルのメダルのスポーツ、DisciplineID、およびイベントの順に列をクリックします。 意味のある階層を作成するには順序が重要であることを忘れないでください。
  • 選択範囲を右クリックします。
  • ドロップダウンリストから[階層の作成]を選択します。

階層の作成

子レベルとして3つの選択されたフィールドを持つ階層フィールドが作成されます。

階層フィールド

階層の名前を変更する

階層フィールドの名前を変更するには、次のようにします-

  • Hierarchy1を右クリックします。
  • ドロップダウンリストから[名前の変更]を選択します。

階層名の変更

*EventHierarchy* と入力します。

イベント階層

データモデルの階層を持つピボットテーブルの作成

データモデルで作成した階層を使用して、PowerPivotTableを作成できます。

  • [Power Pivot]ウィンドウのリボンの[PivotTable]タブをクリックします。
  • リボンの[ピボットテーブル]をクリックします。

データモデルの階層

[ピボットテーブルの作成]ダイアログボックスが表示されます。 [新しいワークシート]を選択し、[OK]をクリックします。

新しいワークシートを選択して[OKをクリック]

空のピボットテーブルが新しいワークシートに作成されます。

PivotTable Empty

[ピボットテーブルフィールド]リストで、 EventHierarchy がメダルテーブルのフィールドとして表示されます。 メダルテーブルの他のフィールドは折りたたまれ、[その他のフィールド]として表示されます。

  • EventHierarchyの前にある矢印矢印をクリックします。
  • [その他のフィールド]の前にある矢印矢印をクリックします。

EventHierarchyの下のフィールドが表示されます。 メダルテーブルのすべてのフィールドが[その他のフィールド]の下に表示されます。

Under EventHierarchy

ご覧のとおり、階層に追加した3つのフィールドは、 More Fields の下のチェックボックスにも表示されます。 [その他のフィールド]の下の[ピボットテーブルフィールド]リストに表示しない場合は、データテーブルの列を非表示にする必要があります。PowerPivotウィンドウのデータビューのメダルです。 いつでも好きなときに再表示できます。

次のようにフィールドをピボットテーブルに追加します-

  • EventHierarchy をROWSエリアにドラッグします。
  • メダルを∑ VALUESエリアにドラッグします。

Drag EventHierarchy

Sportフィールドの値は、その前に+記号が付いたピボットテーブルに表示されます。 各スポーツのメダル数が表示されます。

  • Aquaticsの前の+記号をクリックします。 Aquaticsの下のDisciplineIDフィールド値が表示されます。
  • 表示される子D22をクリックします。 D22の下のイベントフィールドの値が表示されます。

DisciplineID

ご覧のとおり、メダルレベルは、親レベルで集計されるイベント- DisciplineID に与えられ、さらに親レベルで集計される-スポーツです。

複数のテーブルに基づく階層の作成

DisciplineIDではなくDisciplineをピボットテーブルに表示して、より読みやすく理解しやすい要約にしたいとします。 これを行うには、ご存じのようにメダルテーブルに「規律」フィールドが必要です。 ディシプリンフィールドはディシプリンデータテーブルにありますが、複数のテーブルのフィールドを持つ階層を作成することはできません。 ただし、他のテーブルから必須フィールドを取得する方法があります。

ご承知のとおり、メダルと規律の表は関連しています。 DAXとのリレーションシップを使用して列を作成することにより、DisciplineテーブルのフィールドDisciplineをメダルテーブルに追加できます。

  • PowerPivotウィンドウのデータビューをクリックします。
  • リボンの[デザイン]タブをクリックします。
  • 追加をクリックします。

列-テーブルの右側の列の追加が強調表示されます。

数式バーに「= RELATED(Disciplines [Discipline])」と入力します。 新しい列- *CalculatedColumn1 が作成され、値がDisciplinesテーブルのDisciplineフィールド値として作成されます。

規律フィールド

このようにしてメダルテーブルで取得した新しい列の名前をDisciplineに変更します。 次に、DisciplineIDを階層から削除し、Disciplineを追加する必要があります。これについては、次のセクションで学習します。

階層から子レベルを削除する

ご覧のとおり、階層はダイアグラムビューにのみ表示され、データビューには表示されません。 したがって、ダイアグラムビューでのみ階層を編集できます。

  • Power Pivotウィンドウのダイアグラムビューをクリックします。
  • EventHierarchyでDisciplineIDを右クリックします。
  • ドロップダウンリストから[階層から削除]を選択します。

階層から削除

確認ダイアログボックスが表示されます。 [階層から削除]をクリックします。

確認ダイアログボックス

フィールドDisciplineIDが階層から削除されます。 階層からフィールドを削除しましたが、ソーステーブルはまだデータテーブルに存在していることに注意してください。

次に、EventHierarchyにDisciplineフィールドを追加する必要があります。

階層への子レベルの追加

あなたは既存の階層にフィールド規律を追加することができます-次のようにEventHierarchy-

  • メダルテーブルのフィールドをクリックします。
  • EventHierarchyの下の[イベント]フィールドにドラッグします。

子レベルの追加

DisciplineフィールドがEventHierarchyに追加されます。

フィールド追加

ご覧のとおり、EventHierarchyのフィールドの順序はSport–Event–Disciplineです。 しかし、あなたが知っているように、それはスポーツ-規律-イベントでなければなりません。 したがって、フィールドの順序を変更する必要があります。

階層内の子レベルの順序を変更する

フィールド競技後の位置にフィールド規律を移動するには、次のようにします-

  • EventHierarchyの「分野」フィールドを右クリックします。
  • ドロップダウンリストから[上に移動]を選択します。

子レベルの順序

フィールドの順序がSport-Discipline-Eventに変わります。

フィールドの順序

階層が変更されたピボットテーブル

EventHierarchyで行った変更をピボットテーブルに表示するには、新しいピボットテーブルを作成する必要はありません。 既存のピボットテーブル自体でそれらを表示できます。

Excelウィンドウのピボットテーブルでワークシートをクリックします。

ワークシートをクリック

ご覧のとおり、[ピボットテーブルフィールド]リストで、EventHierarchyの子レベルは、データモデルの階層で行った変更を反映しています。 同じ変更は、それに応じてピボットテーブルにも反映されます。

ピボットテーブルのAquaticsの前にある+記号をクリックします。 子レベルは、「規律」フィールドの値として表示されます。

フィールドリスト

階層の非表示と表示

階層を非表示にして、必要なときにいつでも表示することができます。

  • 階層を非表示にするには、ダイアグラムビューのトップメニューの[階層]ボックスをオフにします。
  • [階層]ボックスをオンにして、階層を表示します。

階層の非表示および表示

他の方法で階層を作成する

前のセクションで階層を作成した方法に加えて、別の2つの方法で階層を作成できます。

{空} 1 ダイアグラムビューのメダルデータテーブルの右上隅にある[階層の作成]ボタンをクリックします。

階層の作成

テーブルに新しい階層が作成され、フィールドが含まれていません。

テーブルの新しい階層

年と季節のフィールドをこの順序で新しい階層にドラッグします。 階層には子レベルが表示されます。

Fields Year

{空} 2。 同じ階層を作成する別の方法は次のとおりです-

  • ダイアグラムビューのメダルデータテーブルの[年]フィールドを右クリックします。
  • ドロップダウンリストから[階層の作成]を選択します。

同じ階層

Yearを子フィールドとして、新しい階層がテーブルに作成されます。

子フィールド

フィールドシーズンを階層にドラッグします。 階層には子レベルが表示されます。

フィールドシーズン

階層を削除する

次のようにデータモデルから階層を削除できます-

  • 階層を右クリックします。
  • ドロップダウンリストから[削除]を選択します。

階層の削除

  • 確認*ダイアログボックスが表示されます。 [モデルから削除]をクリックします。

モデルから削除

階層が削除されます。

階層の削除

階層を使用した計算

階層を使用して計算を作成できます。 EventsHierarchyでは、次のように、親レベルのメダル数の割合として、子レベルのメダル数を表示できます-

  • イベントのメダル数の値を右クリックします。
  • ドロップダウンリストから[値フィールドの設定]を選択します。

階層を使用した計算

[値フィールドの設定]ダイアログボックスが表示されます。

  • [値を表示]タブをクリックします。
  • リストから親行合計の%を選択し、[OK]をクリックします。

フィールド設定

子レベルは、親の合計の割合として表示されます。 これを確認するには、親の子レベルのパーセント値を合計します。 合計は100%になります。

親の合計

階層のドリルアップとドリルダウン

クイックエクスプローラーツールを使用して、階層内のレベルをすばやくドリルアップおよびドリルダウンできます。

  • ピボットテーブルの[イベント]フィールドの値をクリックします。
  • 選択した値を含むセルの右下隅に表示されるクイック探索ツール-探索ツールをクリックします。

ドリルアップ

[ドリルアップ]オプション付きの[探索]ボックスが表示されます。 これは、イベントの下に子レベルがないため、イベントからのみドリルアップできるためです。

[ドリルアップ]をクリックします。

ドリルアップをクリック

ピボットテーブルデータはDisciplineにドリルアップされます。

ドリルアップ

値を含むセルの右下隅に表示されるクイック探索ツール-探索ツールをクリックします。

「探索」ボックスが表示され、「ドリルアップ」オプションと「ドリルダウン」オプションが表示されます。 これは、規律からスポーツにドリルアップしたり、イベントにドリルダウンしたりできるためです。

Explore Box

これにより、階層をすばやく上下に移動できます。