Excel PowerPivot-階層
データモデルの階層は、Power PivotTableで使用されるときに単一のアイテムと見なされる、データテーブル内のネストされた列のリストです。たとえば、データテーブルにCountry、State、Cityの列がある場合、階層を定義して3つの列を1つのフィールドに結合できます。
[Power PivotTable Fields]リストでは、階層が1つのフィールドとして表示されます。したがって、階層内の3つのフィールドではなく、1つのフィールドだけをピボットテーブルに追加できます。さらに、ネストされたレベルを意味のある方法で上下に移動できます。
この章の説明については、次のデータモデルを検討してください。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/hierarchies.jpg)
階層の作成
データモデルのダイアグラムビューで階層を作成できます。単一のデータテーブルのみに基づいて階層を作成できることに注意してください。
データテーブルMedalのSport、DisciplineID、Eventの列をこの順序でクリックします。意味のある階層を作成するには、順序が重要であることを忘れないでください。
選択範囲を右クリックします。
ドロップダウンリストから[階層の作成]を選択します。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/create_hierarchies.jpg)
子レベルとして選択された3つのフィールドを持つ階層フィールドが作成されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/hierarchy_field.jpg)
階層の名前を変更する
階層フィールドの名前を変更するには、次のようにします-
Hierarchy1を右クリックします。
ドロップダウンリストから[名前の変更]を選択します。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/renaming_hierarchy.jpg)
タイプ EventHierarchy。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/eventhierarchy.jpg)
データモデルの階層を持つピボットテーブルの作成
データモデルで作成した階層を使用して、PowerPivotTableを作成できます。
[パワーピボット]ウィンドウのリボンの[ピボットテーブル]タブをクリックします。
リボンの[ピボットテーブル]をクリックします。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/hierarchy_in_data_model.jpg)
ザ・ Create PivotTableダイアログボックスが表示されます。[新しいワークシート]を選択して、[OK]をクリックします。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/select_new_worksheet_click_ok.jpg)
空のピボットテーブルが新しいワークシートに作成されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/pivottable_empty.jpg)
[ピボットテーブルフィールド]リストで、 EventHierarchyメダルテーブルのフィールドとして表示されます。メダルテーブルの他のフィールドは折りたたまれ、その他のフィールドとして表示されます。
EventHierarchyの下のフィールドが表示されます。メダルテーブルのすべてのフィールドが[その他のフィールド]の下に表示されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/under_eventhierarchy.jpg)
ご覧のとおり、階層に追加した3つのフィールドも下に表示されます More Fieldsチェックボックス付き。それらを下のピボットテーブルフィールドリストに表示したくない場合More Fields、データテーブルの列を非表示にする必要があります– Power PivotWindowのデータビューのメダル。いつでもいつでも再表示できます。
次のようにピボットテーブルにフィールドを追加します-
引っ張る EventHierarchy ROWSエリアへ。
メダルを∑VALUESエリアにドラッグします。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/drag_eventhierarchy.jpg)
Sportフィールドの値は、ピボットテーブルの前に+記号が付いて表示されます。各スポーツのメダル数が表示されます。
Aquaticsの前にある+記号をクリックします。Aquaticsの下のDisciplineIDフィールド値が表示されます。
表示される子D22をクリックします。D22の下のイベントフィールド値が表示されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/disciplineid.jpg)
ご覧のとおり、メダル数はイベントに与えられ、親レベルで合計されます- DisciplineID、それは親レベルでさらに要約されます-スポーツ。
複数のテーブルに基づく階層の作成
DisciplineIDではなくピボットテーブルにDisciplinesを表示して、より読みやすく理解しやすい要約にする必要があるとします。これを行うには、ご存知のようにそうではないフィールド「メダルの規律」テーブルが必要です。分野フィールドは分野データテーブルにありますが、複数のテーブルのフィールドで階層を作成することはできません。ただし、他のテーブルから必要なフィールドを取得する方法があります。
ご存知のように、表-メダルと分野は関連しています。DAXとの関係を使用して列を作成することにより、[分野からの分野]テーブルを[メダル]テーブルに追加できます。
PowerPivotウィンドウでデータビューをクリックします。
リボンの[デザイン]タブをクリックします。
[追加]をクリックします。
表の右側にある列-[列の追加]が強調表示されます。
タイプ= RELATED (Disciplines [Discipline])数式バーで。新しい列-CalculatedColumn1 DisciplinesテーブルのDisciplineフィールド値として値を使用して作成されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/discipline_field.jpg)
このようにしてメダルテーブルで取得した新しい列の名前をDisciplineに変更します。次に、階層からDisciplineIDを削除し、Disciplineを追加する必要があります。これについては、次のセクションで学習します。
階層からの子レベルの削除
ご覧のとおり、階層はダイアグラムビューにのみ表示され、データビューには表示されません。したがって、階層はダイアグラムビューでのみ編集できます。
PowerPivotウィンドウのダイアグラムビューをクリックします。
EventHierarchyでDisciplineIDを右クリックします。
選択する Remove from Hierarchy ドロップダウンリストから。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/remove_from_hierarchy.jpg)
[確認]ダイアログボックスが表示されます。クリックRemove from Hierarchy。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/confirm_dialog_box.jpg)
フィールドDisciplineIDが階層から削除されます。階層からフィールドを削除したが、ソースフィールドはまだデータテーブルに存在していることに注意してください。
次に、DisciplineフィールドをEventHierarchyに追加する必要があります。
階層への子レベルの追加
次のように、フィールドDisciplineを既存の階層に追加できます-EventHierarchy-
メダルテーブルのフィールドをクリックします。
それをEventHierarchyの下の[イベント]フィールドにドラッグします。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/addind_child_level.jpg)
DisciplineフィールドがEventHierarchyに追加されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/field_added.jpg)
ご覧のとおり、EventHierarchyのフィールドの順序はSport–Event–Disciplineです。しかし、ご存知のように、それはSport–Discipline-Eventでなければなりません。したがって、フィールドの順序を変更する必要があります。
階層内の子レベルの順序の変更
フィールドディシプリンをフィールドスポーツの後の位置に移動するには、次のようにします。
EventHierarchyのフィールドDisciplineを右クリックします。
ドロップダウンリストから[上に移動]を選択します。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/order_of_child_level.jpg)
フィールドの順序がSport-Discipline-Eventに変わります。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/fields_order.jpg)
階層が変更されたピボットテーブル
ピボットテーブルのEventHierarchyで行った変更を表示するために、新しいピボットテーブルを作成する必要はありません。それらは、既存のピボットテーブル自体で表示できます。
Excelウィンドウのピボットテーブルでワークシートをクリックします。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/click_on_worksheet.jpg)
ご覧のとおり、[ピボットテーブルのフィールド]リストでは、EventHierarchyの子レベルは、データモデルの階層で行った変更を反映しています。それに応じて、同じ変更がピボットテーブルにも反映されます。
ピボットテーブルのAquaticsの前にある+記号をクリックします。子レベルは、フィールドDisciplineの値として表示されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/fields_list.jpg)
階層の非表示と表示
階層を非表示にして、いつでも表示することができます。
ダイアグラムビューのトップメニューにある[階層]チェックボックスをオフにして、階層を非表示にします。
[階層]チェックボックスをオンにして、階層を表示します。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/hiding_and_showing_hierarchy.jpg)
他の方法で階層を作成する
前のセクションで階層を作成した方法に加えて、別の2つの方法で階層を作成できます。
1.ダイアグラムビューのメダルデータテーブルの右上隅にある[階層の作成]ボタンをクリックします。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/create_hierarchy.jpg)
新しい階層は、フィールドを含まないテーブルに作成されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/new_hierarchy_in_table.jpg)
[年]フィールドと[シーズン]フィールドをこの順序で新しい階層にドラッグします。階層には子レベルが表示されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/fields_year.jpg)
2.同じ階層を作成する別の方法は次のとおりです-
ダイアグラムビューのメダルデータテーブルの[年]フィールドを右クリックします。
ドロップダウンリストから[階層の作成]を選択します。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/same_hierarchy.jpg)
Yearを子フィールドとしてテーブルに新しい階層が作成されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/child_field.jpg)
フィールドシーズンを階層にドラッグします。階層には子レベルが表示されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/field_season.jpg)
階層の削除
次のように、データモデルから階層を削除できます。
階層を右クリックします。
ドロップダウンリストから[削除]を選択します。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/deleting_hierarchy.jpg)
ザ・ Confirmダイアログボックスが表示されます。クリックDelete from Model。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/delete_from_model.jpg)
階層が削除されます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/hierarchy_deleted.jpg)
階層を使用した計算
階層を使用して計算を作成できます。EventsHierarchyでは、次のように、子レベルのメダル数を親レベルのメダル数のパーセンテージとして表示できます。
イベントのメダル数の値を右クリックします。
ドロップダウンリストから[値フィールド設定]を選択します。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/calculations_using_hierarchy.jpg)
[値フィールドの設定]ダイアログボックスが表示されます。
クリック Show Values As タブ。
リストから親行の合計の%を選択し、[OK]をクリックします。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/field_settings.jpg)
子レベルは、親の合計のパーセンテージとして表示されます。これは、親の子レベルのパーセンテージ値を合計することで確認できます。合計は100%になります。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/parent_totals.jpg)
階層のドリルアップとドリルダウン
クイックエクスプローラツールを使用して、階層内のレベル間ですばやくドリルアップおよびドリルダウンできます。
ピボットテーブルの[イベント]フィールドの値をクリックします。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/drilling_up.jpg)
ザ・ Explore box with Drill Upオプションが表示されます。これは、イベントからは、その下に子レベルがないため、ドリルアップしかできないためです。
クリック Drill Up。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/click_drill_up.jpg)
ピボットテーブルデータはDisciplineにドリルアップされます。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/drilled_up.jpg)
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/explore_tool.jpg)
[ドリルアップ]および[ドリルダウン]オプションが表示された[探索]ボックスが表示されます。これは、DisciplineからSportにドリルアップしたり、Eventにドリルダウンしたりできるためです。
![](https://post.nghiatu.com/assets/tutorial/excel_power_pivot/images/explore_box.jpg)
このようにして、階層をすばやく上下に移動できます。