Excel Power Pivot – 探索数据
Excel Power Pivot – 探索数据
在前一章中,您学习了如何从一组普通数据表创建 Power PivotTable。在本章中,当数据表包含数千行时,您将了解如何使用 Power PivotTable 探索数据。
为了更好地理解,我们将从 access 数据库中导入数据,您知道它是一个关系数据库。
从 Access 数据库加载数据
要从 Access 数据库加载数据,请按照给定的步骤操作 –
-
在 Excel 中打开一个新的空白工作簿。
-
单击数据模型组中的管理。
-
单击功能区上的 POWERPIVOT 选项卡。
出现 Power Pivot 窗口。
-
单击 Power Pivot 窗口中的主页选项卡。
-
单击获取外部数据组中的从数据库。
-
从下拉列表中选择从访问。
出现表导入向导。
-
提供友好的连接名称。
-
浏览到 Access 数据库文件 Events.accdb,即事件数据库文件。
-
单击下一步 > 按钮。
该表导入向导显示选项选择如何导入数据。
单击从表和视图列表中选择以选择要导入的数据,然后单击下一步。
该表导入向导显示所有在Access数据库中的表您选择。选中所有框以选择所有表,然后单击完成。
该表导入向导显示-导入并显示导入的状态。这可能需要几分钟时间,您可以通过单击停止导入按钮来停止导入。
数据导入完成后,表导入向导会显示 –成功并显示导入结果。单击关闭。
Power Pivot 在数据视图的不同选项卡中显示所有导入的表。
单击图表视图。
您可以观察到表之间存在关系 – Disciplines 和 Medals。这是因为,当您从关系数据库(如 Access)导入数据时,数据库中存在的关系也会导入到 Power Pivot 中的数据模型中。
从数据模型创建数据透视表
使用您在上一节中导入的表创建数据透视表,如下所示 –
-
单击功能区上的数据透视表。
-
从下拉列表中选择数据透视表。
-
在出现的“创建数据透视表”对话框中选择“新建工作表”,然后单击“确定”。
在 Excel 窗口的新工作表中创建一个空的数据透视表。
作为 Power Pivot 数据模型一部分的所有导入表都出现在“数据透视表字段”列表中。
-
将Medals 表中的NOC_CountryRegion字段拖到COLUMNS 区域。
-
将 Discipline 从 Disciplines 表拖到 ROWS 区域。
-
筛选学科以仅显示五种运动:射箭、跳水、击剑、花样滑冰和速度滑冰。这可以在数据透视表字段区域中完成,也可以从数据透视表本身的行标签过滤器中完成。
-
将 Medal 从 Medals 表拖到 VALUES 区域。
-
再次从 Medals 表中选择 Medal 并将其拖到 FILTERS 区域。
数据透视表填充有添加的字段和区域中选择的布局。
使用数据透视表探索数据
您可能只想显示 Medal Count > 80 的值。要执行此操作,请按照给定的步骤操作 –
-
单击列标签右侧的箭头。
-
从下拉列表中选择值过滤器。
-
选择大于…。从第二个下拉列表。
-
单击确定。
该值过滤器对话框。在最右侧的框中键入 80,然后单击“确定”。
数据透视表仅显示奖牌总数超过 80 的地区。
只需几步,您就可以从不同的表格中获得您想要的特定报告。由于 Access 数据库中表之间的预先存在关系,这成为可能。当您同时从数据库中导入所有表时,Power Pivot 在其数据模型中重新创建了关系。
在 Power Pivot 中汇总来自不同来源的数据
如果您从不同来源获取数据表,或者如果您没有同时从数据库中导入表,或者如果您在工作簿中创建新的 Excel 表并将它们添加到数据模型中,则必须创建之间的关系要用于数据透视表中的分析和汇总的表。
-
在工作簿中创建一个新工作表。
-
创建一个 Excel 表格——体育。
将 Sports 表添加到数据模型。
使用字段SportID在Disciplines 和 Sports表之间创建关系。
将字段Sport添加到数据透视表。
洗牌领域 – ROWS 区域中的纪律和体育。
扩展数据探索
您也可以将表Events用于进一步的数据探索。
使用字段DisciplineEvent在表Events和Medals之间创建关系。
将表Hosts添加到工作簿和数据模型。
使用计算列扩展数据模型
要将 Hosts 表连接到任何其他表,它应该有一个字段,其中的值唯一标识 Hosts 表中的每一行。由于 Host 表中不存在此类字段,您可以在 Hosts 表中创建一个计算列,使其包含唯一值。
-
转到 PowerPivot 窗口的数据视图中的主机表。
-
单击功能区上的设计选项卡。
-
单击添加。
标题为“添加列”的最右侧列突出显示。
-
在公式栏中键入以下 DAX 公式 = CONCATENATE ([Edition], [Season])
-
按 Enter。
将创建一个带有标题CalculatedColumn1 的新列,该列由上述 DAX 公式产生的值填充。
右键单击新列并从下拉列表中选择重命名列。
在新列的标题中键入EditionID。
如您所见,列EditionID在 Hosts 表中具有唯一值。
使用计算列创建关系
如果您必须在Hosts表和Medals表之间创建关系,则列EditionID 也应存在于 Medals 表中。在 Medals 表中创建一个计算列,如下所示 –
-
单击 Power Pivot 数据视图中的奖牌表。
-
单击功能区上的设计选项卡。
-
单击添加。
在公式栏中键入 DAX 公式 = YEAR ([EDITION]),然后按 Enter。
将创建的新列重命名为 Year 并单击Add。
-
在公式栏中键入以下 DAX 公式 = CONCATENATE ([Year], [Season])
-
将创建的新列重命名为EditionID。
如您所见,Medals 表中的 EditionID 列与 Hosts 表中的 EditionID 列具有相同的值。因此,您可以使用 EditionID 字段在表 – Medals 和 Sports 之间创建关系。
-
切换到 PowerPivot 窗口中的图表视图。
-
使用从计算列(即EditionID)获得的字段创建表 – 奖牌和主机之间的关系。
现在,您可以将主机表中的字段添加到 Power PivotTable。