热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

先看一个图:这个系列的图在网上常被引用,所表达的关系曾经代表Microsoft公司数据分析工具的一个推荐组合:原始的数据(RawData)被加载到PowerQuery中进行清洗(P

先看一个图:

《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
这个系列的图在网上常被引用,所表达的关系曾经代表 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) - 做一个多表关联的数据透视表》
本篇基于多表关联实现一个数据透视表,来看看 Power Pivot 被称为超级数据透视表比 Excel 的数据透视表有哪些革命性进步。数据源在 SQL Server 中,示例数据我放到 Github 上方便大家下载。我们将用到两个表:

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

导入数据

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

《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
Power Pivot 直接导入数据的方法如下:通过【数据】选项卡,点击【管理数据模型】菜单。
《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
进入 Power Pivot for Excel 界面,在【主页】选项卡中,点击【从外部数据】> 【从 SQL Server】:
《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
填写服务器名称和登录选项,选择数据库,然后点击下一步

《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
选择从表中和视图中导入数据:

《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
选择需要的 Products 表和 SalesOrders 表:
《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
两种方法的效果相同,数据都被加载到 Power Pivot。在【数据视图】中显示的界面如下:

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

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

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

编制数据透视表

回到 Excel 界面,插入数据透视表,使用此工作簿的数据模型。如果没有将数据加载到数据模型,这个选项是灰色的。
《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
因为两个表建立了关联,所以我们可以自由选择 Products 和 SalesOrders 表的字段。和 Excel 传统的数据透视表相比,如果要达到这种效果,需要先用 VLookup 函数将相关字段放在一起。
《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
对字段使用如下布局:

《Power Pivot 系列 (1) - 做一个多表关联的数据透视表》
得到数据透视表,增加切片器并且进行美化后的效果:

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

示例数据

Github – create pivot table from linked tables


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 我们有(据我所知)星型模式SQL数据库中的数据文件。该数据库有5个不同的文件,扩展名为 ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
author-avatar
叶子已经不是木头的了
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有