Excel 数据分析之用Power Query实现数据转换和清洗(功能操作篇)

本文主要是介绍Excel 数据分析之用Power Query实现数据转换和清洗(功能操作篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一个案例快速了解Power Query

凭借 Power Query,可以搜索数据源,创建连接,然后按照可满足你需求的方式调整数据(例如删除列、更改数据类型或合并表格)以创建报表。
例:将门店一&门店二两个工作簿的数据整合到一张工作表,并统计出各销售代表每个月的业绩

了解案例.gif-2849.3kB

数据的行列管理及删除重复项

如下例所示:

PQ行列管理.gif-2942.2kB

数据格式的转换及删除错误

如下例所示,更改表格中标注黄色的异常单元格

PQ格式转换及删除错误.gif-3482.4kB

*注意事项
1.大小写:Power Query对英文字母的大小写十分敏感,不能用大写字母去找小写字母,反之一样
2.修整:在所选列的每个单元格中删除前导空格和尾随空格
使用“修整”功能时需注意,尽量不要对整张表格进行一次性修整,由于数据格式不同,容易出现报错(文本格式下要)
3.清除:清除所选列中的非输入字符(例如:回车)
4.添加前缀/后缀:在所选列单元格的前/后增加指定的字符,类似于合并

数据格式的拆分、合并和提取操作演示

PQ数据合并拆分和提取.gif-3431.3kB

转置和反转

转置:行列数据互转

PQ转置.gif-883.2kB

反转行:第一行数据和最后一行数据的互换

PQ反转行.gif-539.7kB

透视和逆透视(二维和一维的转换)

一维指仅有列标题的数据,二维指既有行标题又有列标题的数据
透视:一维转二维
选中的列透视后会以行数据的形式出现

PQ透视.gif-204.7kB

逆透视:二维转一维

PQ逆透视.gif-188.5kB

分组依据和添加列

如下例所示:
求出每个班组的人数,平均年龄,居住外地人数,大学生人数,平均满意度

PQ分组依据和添加列.gif-4127.7kB

“添加列”功能下“自定义列”说明:

image_1cqnatmr5b6d134f12u44qh16a2q.png-42.7kB

日期和时间的整理功能说明

如下图所示:

日期.png-122.5kB

时间.png-100.6kB

持续时间:通过年限来提取

持续时间.png-99.8kB

数学运算功能说明

如下图所示:

计算.png-137.4kB

追加查询

用途:追加多份数据到一份数据中查询,对表格的纵向追加
要求多份数据的列标题名称一致(导出的数据以第一份数据的格式为准)

1.追加同一工作表的两份数据到一份数据
如下例所示:

PQ追加.gif-4571.1kB

若列标题不一致,追加查询后导出的数据会新增一列不同名称的列数据
如下例所示:

PQ追加-列名称不同.gif-1239.4kB


或者修改数据后重新导入两份数据

2.追加一个工作簿中多工作表的数据到一个工作表
如下例所示:

PQ追加-多工作表.gif-12800kB

3.追加一个文件夹内多工作簿的数据到一个工作表
如下例所示:

PQ追加-多工作簿.gif-7464.1kB

*需要运用Power Query的M函数之一
=Excel.Workbook(目标)
作用:将Binary列内容转换为Table列

4.追加一个文件夹内多CSV文件到一个工作表

PQ追加-多CSV.gif-4446.5kB

*也可用以下简便方法追加多工作簿/多CSV文件
如下例所示:

PQ追加-简便方法.gif-3624.6kB

合并查询

通过多张数据共有的字段,将其他源数据的内容添加到一张工作表
是对表格的横向合并,类似于Excel的Vlookup函数
如下例所示:
将sheet1中三组数据合并,计算出各客户不同产品的折扣金额

PQ合并.gif-4267.7kB

合并查询里的联接种类

联接种类-1.png-65.8kB

案例之中国式排名

中国式排名.gif-2883.4kB

案例之分组中国式排名

分组中国式排名.gif-4126kB

案例之生成笛卡尔积表

笛卡尔积表.gif-3245.6kB

案例之多行属性合并

多行属性合并.gif-3491.7kB

这篇关于Excel 数据分析之用Power Query实现数据转换和清洗(功能操作篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/756643

相关文章

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu