先看一个图:


这个系列的图在网上常被引用,所表达的关系曾经代表 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 被称为超级数据透视表比 Excel 的数据透视表有哪些革命性进步。数据源在 SQL Server 中,示例数据我放到 Github 上方便大家下载。我们将用到两个表:

导入数据

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


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

进入 Power Pivot for Excel 界面,在【主页】选项卡中,点击【从外部数据】> 【从 SQL Server】:

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


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


选择需要的 Products 表和 SalesOrders 表:

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

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

编制数据透视表

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

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

对字段使用如下布局:


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

示例数据

Github - create pivot table from linked tables

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

  1. 学习Python处理Excel 难度1级别 多表合并、数据透视表、拆分合并单元格并获得一维表

    #本代码要点:多表合并.数据透视表.拆分合并单元格并获得一维表 #主题:各门店合并,计算各店当月回店做服务2次+的客人数量 #EXCEL工作表:存在合并单元格 #备注: import pandas a ...

  2. 编辑状态打开mysql表,Excel2016中数据透视表的编辑操作方法

    在Excel2016中建立初始的数据透视表后,可以对数据透视表进行一系列的编辑操作(如添加或删除字段.改变字段的显示顺序.更改统计字段的算法以及数据更新等),以达到不同的统计目的. 一.查看各门店数量 ...

  3. 用python做透视表_python制作数据透视表pivot_table方法详解

    数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等.所进行的计算与数据跟数据透视表中的排列有关. 之所以称为数据透视表,是因为可以动态地改变它们的版面布置,以便按照 ...

  4. excel数据透视表_来自多个工作表的Excel数据透视表更新

    excel数据透视表 If you have similar data on two or more worksheets, you might want to combine that data i ...

  5. navicat 只对比一张表的数据_Excel VBA批量新建工作表(对比数据透视表的使用)...

    在之前的一篇文章中,分享过用数据透视表的方法批量新建工作表. https://zhuanlan.zhihu.com/p/115191339​zhuanlan.zhihu.com 本次将用VBA的方式快 ...

  6. java刷新透视表数据源,Excel数据透视表过滤源更新时更改的值

    在我们的BI基础架构中,我们使用Excel的数据透视表来公开Analysis Service实例(多维数据集)中的数据,到目前为止我们没有什么可抱怨的 . Excel "reports&qu ...

  7. 按英语体育计算机创建透视表,利用Excel“数据透视表”管理体育器材

    单 伟 孙艳妙 摘 要:体育器材管理一直是体育管理者比较棘手的问题,本文结合一个具体实例,详细阐述了利用Excel"数据透视表"管理体育器材的方法,对于体育器材管理者非常实用. 关 ...

  8. 数据透视表之在数据透视表中进行计算

    在数据透视表中进行计算 讲师:Jssy 助教:Wxin0708 助教:李兴德 我的excelhome学习地址:http://t.excelhome.net/thread-17026-1-1.html  ...

  9. python pandas 数据透视表_python – Pandas数据透视表:列顺序和小计

    小计和 MultiIndex.from_arrays的解决方案.最后 concat和所有数据帧, sort_index并添加所有总和: #replace km/h and convert to int ...

最新文章

  1. linux cpu拓扑查看工具 hwloc 简介
  2. dedecms教程:搜索页显示条数更改
  3. php 怎么开启错误提醒,php怎样开启错误提示
  4. CLion 输出遇到乱码解决办法,GBK和utf-8的转换
  5. php ob gzhandler,php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
  6. 都说比特币无价值,涨得不合理;但你知道比特币最大的用途吗?
  7. android os自动联网,联网设置指南
  8. Java判断文件是否为图片
  9. Number and String in JS
  10. c语言知识竞赛题库答案及,《C语言程序设计》复习题库.docx
  11. 全球红外(IR)LED行业收入预计2028年达到13.699亿美元
  12. 【092】韦达定理在一元n次方程中的推广
  13. html语言对奇偶数行设置颜色,纯CSS实现奇偶数行颜色交替(兼容主流浏览器)
  14. 最近的一些杂感-20220107
  15. 2019年1-6月网络安全态势分析及建议
  16. 解决流氓软件自动下软件、自动弹窗、广告
  17. Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#)
  18. MDK自动生成版本号
  19. Java 汉语转拼音
  20. IKNP 的改进:G-OT、C-OT、R-OT

热门文章

  1. 基于数据驱动设计复杂页面
  2. Encrypt 加密 (图解)
  3. arduino灯带随音乐_创意分享:使用arduino实现音乐交互LED灯效果
  4. 【福利】哈佛大学公开课:构建动态网站
  5. 小米、华为、iPhone三款钱包的竞品分析
  6. java江湖2新手开局攻略_放置江湖完美开局攻略
  7. 微信外卖小程序 怎么计算与客户的距离_小程序掌单说 | 外卖O2O下半场,落后就要挨打!...
  8. P2P金融的概念理解
  9. Unity HDRP示例场景解析
  10. PyTorch学习笔记:nn.ReLU——ReLU激活函数