Power Pivot 系列 (1) - 做一个多表关联的数据透视表

先看一个图:

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第1张图片
image

这个系列的图在网上常被引用,所表达的关系曾经代表 Microsoft 公司数据分析工具的一个推荐组合:原始的数据 (Raw Data) 被加载到 Power Query 中进行 清洗 (Power Query 是 ETL工具),然后数据再到 Power Pivot 中 建模,最后放到 Power View / Power Map 系列进行 展现。如今,Power Query 成为 Excel 的一个内置功能,Power Pivot 作为 Excel Add-in 使用,Power View / Power Map 则被 Microsoft 尽力隐藏不让用户看见。如果之前用过 Power View / Power Map 的用户,对这两个工具有依赖的话,通过繁琐的方式也可以调出来,但没接触过的用户,就不用再去学习了。这两个插件依赖于 Silverlight,也是微软放弃的一款产品。当然它们的功能还在,微软都集成到 Power BI Desktop 中了。Power BI Desktop 是微软新的一款自助式 BI 产品,Desktop 免费,功能强大,可以使用 M 表达式语言和 DAX 语言,对外可以与 R 或者 Python 对接。

根据Gartner 2019 数据分析和 BI 魔力象限的数据,Microsoft 以 Power BI 为代表的新一代 BI 工具已经处在领导者象限了:

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第2张图片
image

本篇基于多表关联实现一个数据透视表,来看看 Power Pivot 被称为超级数据透视表比 Excel 的数据透视表有哪些革命性进步。数据源在 SQL Server 中,示例数据我放到 Github 上方便大家下载。我们将用到两个表:

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第3张图片
image

导入数据

Power Pivot 的数据来自 Excel 数据模型,Excel 数据模型是一个专门概念,代表 Excel 工作簿中类似数据库的模型,由表及表的关系构成。Power Pivot 是安装和激活后查看 Excel 数据模型最方便的工具,我也会在后面的文章中介绍其他查看方法。如何安装和激活 Power Piovt 网上有太多教程,故不再这里赘述。刚才提到过数据从数据源到 Power Query 再到 Power Pivot 的路径。我们先用这种方法。Power Query 加载数据请参考我之前的博客。请按下图,选择一个查询表后,右键,选择加载到菜单,确保数据已经被加载到 Excel 数据模型。

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第4张图片
image

Power Pivot 直接导入数据的方法如下:通过【数据】选项卡,点击【管理数据模型】菜单。
image

进入 Power Pivot for Excel 界面,在【 主页】选项卡中,点击【 从外部数据】> 【 从 SQL Server】:
Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第5张图片
image

填写 服务器名称和登录选项,选择数据库,然后点击 下一步

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第6张图片
image

选择从表中和视图中导入数据:

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第7张图片
image

选择需要的 Products 表和 SalesOrders 表:


Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第8张图片
image

两种方法的效果相同,数据都被加载到 Power Pivot。在【数据视图】中显示的界面如下:

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第9张图片
image

在【关系图视图】界面中显示如下:

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第10张图片
image

编制数据透视表

回到 Excel 界面,插入数据透视表,使用此工作簿的数据模型。如果没有将数据加载到数据模型,这个选项是灰色的。


Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第11张图片
image

因为两个表建立了关联,所以我们可以自由选择 Products 和 SalesOrders 表的字段。和 Excel 传统的数据透视表相比,如果要达到这种效果,需要先用 VLookup 函数将相关字段放在一起。


Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第12张图片
image

对字段使用如下布局:
Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第13张图片
image

得到数据透视表,增加切片器并且进行美化后的效果:

Power Pivot 系列 (1) - 做一个多表关联的数据透视表_第14张图片
image

示例数据

Github - create pivot table from linked tables

你可能感兴趣的:(Power Pivot 系列 (1) - 做一个多表关联的数据透视表)