📜  Excel Power Pivot-层次结构

📅  最后修改于: 2020-12-01 05:03:32             🧑  作者: Mango


数据模型中的层次结构是数据表中嵌套列的列表,这些列在Power PivotTable中使用时被视为单个项目。例如,如果数据表中有列-国家,州,城市,则可以定义层次结构以将三列组合为一个字段。

在“ Power PivotTable字段”列表中,层次结构显示为一个字段。因此,您只能将一个字段添加到数据透视表,而不是层次结构中的三个字段。此外,它使您能够以有意义的方式上下移动嵌套级别。

考虑使用以下数据模型作为本章中的插图。

层次结构

创建层次结构

您可以在数据模型的图表视图中创建层次结构。请注意,您只能基于单个数据表创建层次结构。

  • 在数据表Medal中按此顺序单击列-Sport,DisciplineID和Event。请记住,顺序对于创建有意义的层次结构很重要。

  • 右键单击所选内容。

  • 从下拉列表中选择创建层次结构。

创建层次结构

创建带有三个选定字段作为子级别的层次结构字段。

层次字段

重命名层次结构

要重命名层次结构字段,请执行以下操作-

  • 右键单击Hierarchy1。

  • 从下拉列表中选择重命名。

重命名层次结构

键入EventHierarchy

事件层次

在数据模型中创建具有层次结构的数据透视表

您可以使用在数据模型中创建的层次结构来创建Power PivotTable。

  • 单击“ Power Pivot”窗口中功能区上的“ PivotTable”选项卡。

  • 单击功能区上的数据透视表。

数据模型层次结构

将出现“创建数据透视表”对话框。选择新建工作表,然后单击确定。

选择新工作表,然后单击确定

在新的工作表中创建一个空的数据透视表。

数据透视表为空

在数据透视表字段列表中, EventHierarchy在Medals表中显示为字段。 “奖牌”表中的其他字段已折叠,并显示为“更多字段”。

  • 点击箭头箭头在EventHierarchy前面。

  • 点击箭头箭头在“更多字段”前面。

将显示EventHierarchy下的字段。奖牌表中的所有字段将显示在“更多字段”下。

在事件层次结构下

如您所见,添加到层次结构中的三个字段也会出现在带有复选框的“更多字段”下。如果您不希望它们出现在“更多字段”下的“数据透视表字段”列表中,则必须隐藏数据表中的列-Power Pivot窗口的数据视图中的奖牌。您随时可以随时取消隐藏它们。

将字段添加到数据透视表,如下所示:

  • EventHierarchy拖动到ROWS区域。

  • 将奖牌拖到∑值区域。

拖动事件层次结构

“运动”字段的值将出现在数据透视表中,并在其前面带有一个+号。显示每种运动的奖牌数。

  • 单击Aquatics之前的+号。将显示“水上运动”下的“ DisciplineID”字段值。

  • 单击出现的子D22。将显示D22下的事件字段值。

DisciplineID

如您所见,事件的奖牌数是给定的,这些事件在父级别-DisciplineID汇总,在父级别-Sport进一步汇总。

基于多个表创建层次结构

假设您要在数据透视表中显示Disciplines,而不是DisciplineID,以使其更具可读性和可理解性。为此,您需要在Medals表中有一个Discipline字段,而您所知道的却不是。 “学科”字段位于“学科”数据表中,但是您不能使用来自多个表的字段来创建层次结构。但是,有一种方法可以从另一个表中获取所需字段。

如您所知,表格-奖牌和学科是相关的。通过使用与DAX的关系创建列,可以将“学科领域”表中的“学科领域”表添加到“奖牌”表中。

  • 在“ Power Pivot”窗口中单击数据视图。

  • 单击功能区上的“设计”选项卡。

  • 单击添加。

表右侧的列-添加列突出显示。

在编辑栏中键入= RELATED(学科[学科]) 。新列-CalculatedColumn1被创建,其值作为Disciplines表中的Discipline字段值。

学科领域

将在Medals表中获得的新列重命名为Discipline。接下来,您必须从层次结构中删除DisciplineID并添加Discipline,您将在以下各节中学习。

从层次结构中删除子级别

如您所见,层次结构仅在图视图中可见,而在数据视图中不可见。因此,您只能在图视图中编辑层次结构。

  • 单击“ Power Pivot”窗口中的图表视图。

  • 右键单击EventHierarchy中的DisciplineID。

  • 从下拉列表中选择“从层次结构中删除”

从层次结构中删除

出现“确认”对话框。单击从层次结构中删除

确认对话框

字段DisciplineID从层次结构中删除。请记住,您已经从层次结构中删除了该字段,但是源字段仍然存在于数据表中。

接下来,您需要将“纪律”字段添加到EventHierarchy。

将子级别添加到层次结构

您可以将字段“纪律”添加到现有层次结构-EventHierarchy中,如下所示:

  • 单击“奖牌”表中的字段。

  • 将其拖到EventHierarchy中下面的“事件”字段中。

添加子级别

纪律字段将添加到EventHierarchy。

新增栏位

如您所见,EventHierarchy中字段的顺序是Sport–Event–Discipline。但是,正如您所知,它必须是体育纪律活动。因此,您需要更改字段的顺序。

在层次结构中更改子级别的顺序

要将“学科”移动到“运动”之后的位置,请执行以下操作-

  • 右键单击EventHierarchy中的Discipline字段。

  • 从下拉列表中选择上移。

儿童等级顺序

字段的顺序更改为“运动纪律事件”。

领域顺序

具有层次结构更改的数据透视表

若要查看您在数据透视表中的EventHierarchy中所做的更改,您无需创建新的数据透视表。您可以在现有的数据透视表本身中查看它们。

单击带有数据透视表在Excel窗口中的工作表。

点击工作表

如您所见,在“数据透视表字段”列表中,EventHierarchy中的子级别反映了您在“数据模型层次结构”中所做的更改。相应的更改也会相应地反映在数据透视表中。

单击数据透视表中“水上运动”前面的+号。子级别显示为“学科”字段的值。

栏位清单

隐藏和显示层次结构

您可以选择隐藏层次结构,并在需要时显示它们。

  • 取消选中图表视图顶部菜单中的“层次结构”框以隐藏层次结构。

  • 选中“层次结构”框以显示层次结构。

隐藏和显示层次结构

以其他方式创建层次结构

除了前面几节中创建层次结构的方法之外,还可以用另外两种方法创建层次结构。

1.在图视图中,单击Medals数据表右上角的Create Hierarchy按钮。

建立阶层

在表中创建一个没有任何字段的新层次结构。

表中的新层次结构

将字段Year和Season依次拖到新的层次结构中。层次结构显示子级别。

田野年

2.创建相同层次结构的另一种方法如下-

  • 在图视图中的奖牌数据表中右键单击年份字段。

  • 从下拉列表中选择创建层次结构。

相同层次

在以Year为子字段的表中创建一个新的层次结构。

子场

将字段季节拖到层次结构中。层次结构显示子级别。

野外季节

删除层次结构

您可以从数据模型中删除层次结构,如下所示:

  • 右键单击层次结构。

  • 从下拉列表中选择删除。

删除层次结构

出现“确认”对话框。单击从模型中删除

从模型中删除

层次结构被删除。

层次结构已删除

使用层次结构进行计算

您可以使用层次结构创建计算。在EventsHierarchy中,您可以显示子级别的奖牌数量与其父级别的奖牌数量的百分比,如下所示:

  • 右键单击事件的奖牌价值计数。

  • 从下拉列表中选择“值字段设置”。

使用层次结构进行计算

出现“值字段设置”对话框。

  • 单击将值显示为选项卡。

  • 从列表中选择“父行总数的百分比”,然后单击“确定”。

栏位设定

子级别显示为“父级总计”的百分比。您可以通过汇总父级的子级的百分比值来验证这一点。总和为100%。

家长总计

钻取和钻取层次结构

您可以使用“快速浏览”工具在层级中快速向上和向下钻取。

  • 单击数据透视表中的事件字段的值。

  • 点击快速浏览工具-探索工具出现在包含所选值的单元格的右下角。

向上钻

显示带有“向上钻取”选项的“浏览”框。这是因为在“事件”下您只能向上钻取,因为其下没有子级别。

点击向上钻取

单击向上钻取

数据透视表数据深入到学科。

钻了

点击快速浏览工具-探索工具出现在包含值的单元格的右下角。

将显示“浏览”框,其中显示了“向上钻取”和“向下钻取”选项。这是因为您可以从“纪律”中钻取到“体育”或“事件”。

探索盒子

这样,您可以快速上下移动层次结构。