- Excel Power Pivot 教程
- Excel Power Pivot - 首页
- Excel Power Pivot - 概述
- Excel Power Pivot - 安装
- Excel Power Pivot - 功能
- Excel Power Pivot - 加载数据
- Excel Power Pivot - 数据模型
- Power Pivot - 管理数据模型
- Excel Power Pivot 表 - 创建
- Excel Power Pivot - DAX 基础
- Power Pivot 表 - 数据探索
- Excel Power Pivot 表 - 展平
- Excel Power Pivot 图表 - 创建
- 表格和图表组合
- Excel Power Pivot - 层次结构
- Power Pivot - 美观的报表
- Excel Power Pivot 有用资源
- Excel Power Pivot - 快速指南
- Excel Power Pivot - 资源
- Excel Power Pivot - 讨论
Excel Power Pivot - 层次结构
数据模型中的层次结构是在数据表中嵌套列的列表,在 Power Pivot 表中使用时,这些列被视为单个项目。例如,如果数据表中包含国家、省份、城市列,则可以定义层次结构将这三列组合成一个字段。
在 Power Pivot 表字段列表中,层次结构显示为一个字段。因此,您可以只向数据透视表添加一个字段,而不是层次结构中的三个字段。此外,它使您可以以有意义的方式向上或向下移动嵌套级别。
考虑本章插图的以下数据模型。
创建层次结构
您可以在数据模型的图表视图中创建层次结构。请注意,您只能基于单个数据表创建层次结构。
按顺序单击数据表 Medal 中的列 - 运动项目、项目 ID 和赛事。请记住,顺序对于创建有意义的层次结构非常重要。
右键单击所选内容。
从下拉列表中选择“创建层次结构”。
将创建具有三个选定字段作为子级别的层次结构字段。
重命名层次结构
要重命名层次结构字段,请执行以下操作:
右键单击 Hierarchy1。
从下拉列表中选择“重命名”。
键入EventHierarchy。
使用数据模型中的层次结构创建数据透视表
您可以使用在数据模型中创建的层次结构来创建 Power Pivot 表。
单击 Power Pivot 窗口中功能区上的“数据透视表”选项卡。
单击功能区上的“数据透视表”。
将出现创建数据透视表对话框。选择“新建工作表”,然后单击“确定”。
将在新工作表中创建一个空数据透视表。
在“数据透视表字段”列表中,EventHierarchy显示为 Medals 表中的一个字段。Medals 表中的其他字段已折叠并显示为“更多字段”。
单击EventHierarchy前面的箭头。
单击“更多字段”前面的箭头。
将显示 EventHierarchy 下的字段。Medals 表中的所有字段都将显示在“更多字段”下。
您可以看到,添加到层次结构的三个字段也显示在更多字段下,并带有复选框。如果您不希望它们显示在更多字段下的“数据透视表字段”列表中,则必须在 Power Pivot 窗口的数据视图中隐藏数据表 – Medals 中的列。您可以随时取消隐藏它们。
按如下方式将字段添加到数据透视表:
将EventHierarchy拖到“行”区域。
将奖牌拖到“∑ 值”区域。
运动项目字段的值将显示在数据透视表中,其前面带有 + 号。将显示每种运动项目的奖牌数量。
单击水上运动项目前面的 + 号。将显示水上运动项目下的“项目 ID”字段值。
单击出现的子项 D22。“赛事”字段值将显示在 D22 下。
您可以看到,给出了赛事的奖牌数量,这些数量在其父级 -项目 ID处累加,然后在其父级 - 运动项目处进一步累加。
基于多个表创建层次结构
假设您希望在数据透视表中显示项目而不是项目 ID,以使其更易于阅读和理解。为此,您需要在 Medals 表中拥有项目字段,但您知道它不存在。项目字段位于项目数据表中,但您无法使用多个表中的字段创建层次结构。但是,有一种方法可以从其他表中获取所需的字段。
您知道,表 - Medals 和项目是相关的。您可以通过使用 DAX 创建列,将项目数据表中的项目字段添加到 Medals 表中。
单击 Power Pivot 窗口中的数据视图。
单击功能区上的“设计”选项卡。
单击“添加”。
表右侧的列 - 添加列突出显示。
在公式栏中键入 = RELATED (Disciplines [Discipline])。将创建一个新列 - CalculatedColumn1,其值为项目数据表中的项目字段值。
将 Medals 表中获得的新列重命名为项目。接下来,您必须从层次结构中删除项目 ID 并添加项目,这将在以下部分中学习。
从层次结构中删除子级
您可以看到,层次结构仅在图表视图中可见,而不是在数据视图中可见。因此,您只能在图表视图中编辑层次结构。
单击 Power Pivot 窗口中的图表视图。
右键单击 EventHierarchy 中的项目 ID。
从下拉列表中选择从层次结构中移除。
将出现“确认”对话框。单击从层次结构中移除。
项目 ID 字段将从层次结构中删除。请记住,您已从层次结构中删除了该字段,但源字段仍然存在于数据表中。
接下来,您需要将项目字段添加到 EventHierarchy。
向层次结构添加子级
您可以按如下方式将项目字段添加到现有层次结构 - EventHierarchy:
单击 Medals 表中的字段。
将其拖到 EventHierarchy 中的赛事字段下方。
项目字段将添加到 EventHierarchy。
您可以看到,EventHierarchy 中的字段顺序为运动项目-赛事-项目。但是,您知道它应该是运动项目-项目-赛事。因此,您需要更改字段的顺序。
更改层次结构中子级的顺序
要将项目字段移动到运动项目字段之后,请执行以下操作:
右键单击 EventHierarchy 中的项目字段。
从下拉列表中选择“上移”。
字段顺序将更改为运动项目-项目-赛事。
层次结构更改后的数据透视表
要查看在数据透视表中对 EventHierarchy 所做的更改,您无需创建新的数据透视表。您可以在现有数据透视表中查看它们。
单击 Excel 窗口中包含数据透视表的工作表。
您可以看到,在“数据透视表字段”列表中,EventHierarchy 中的子级反映了您在数据模型中对层次结构所做的更改。这些更改也会相应地反映在数据透视表中。
单击数据透视表中水上运动项目前面的 + 号。子级将显示为项目字段的值。
隐藏和显示层次结构
您可以选择隐藏层次结构,并在需要时显示它们。
取消选中图表视图顶部菜单中的层次结构框以隐藏层次结构。
选中层次结构框以显示层次结构。
以其他方式创建层次结构
除了在前面各节中创建层次结构的方式外,您还可以通过另外两种方式创建层次结构。
1. 单击图表视图中 Medals 数据表右上角的“创建层次结构”按钮。
将在表中创建一个新的层次结构,其中没有任何字段。
按顺序将年份和季节字段拖到新的层次结构中。层次结构将显示子级。
2. 创建相同层次结构的另一种方法如下:
右键单击图表视图中 Medals 数据表中的年份字段。
从下拉列表中选择“创建层次结构”。
将在表中创建一个新的层次结构,其中年份作为子字段。
将季节字段拖到层次结构中。层次结构将显示子级。
删除层次结构
您可以按如下方式从数据模型中删除层次结构:
右键单击层次结构。
从下拉列表中选择“删除”。
将出现确认对话框。单击从模型中删除。
层次结构将被删除。
使用层次结构进行计算
您可以使用层次结构创建计算。在 EventsHierarchy 中,您可以按如下方式将子级的奖牌数量显示为其父级奖牌数量的百分比:
右键单击赛事的“奖牌计数”值。
从下拉列表中选择“值字段设置”。
将出现“值字段设置”对话框。
单击“显示值方式”选项卡。
从列表中选择“父行总计的百分比”,然后单击“确定”。
子级将显示为父级总计的百分比。您可以通过将父级的子级百分比值加起来来验证这一点。总和将为 100%。
向上和向下钻取层次结构
您可以使用快速浏览工具快速向上和向下钻取层次结构中的各个级别。
单击数据透视表中赛事字段的值。
单击快速浏览工具 - ,该工具显示在包含所选值的单元格的右下角。
显示包含向上钻取的探索框选项。这是因为从“事件”级别只能向上钻取,因为它下面没有子级别。
单击向上钻取。
数据透视表数据向上钻取到“学科”级别。
单击单元格值右下角出现的快速探索工具 - 。
显示包含向上钻取和向下钻取选项的探索框。这是因为从“学科”级别,您可以向上钻取到“运动”级别,或向下钻取到“事件”级别。
这样,您可以快速在层次结构中上下移动。