博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20、Power Query-数据合并、拆分
阅读量:2036 次
发布时间:2019-04-28

本文共 656 字,大约阅读时间需要 2 分钟。

本节重点:熟练使用Power Query中的合并以及拆分功能。

例子:下面是学生的考试成绩表,要求将其合并到一列中,用“/”分隔,没有考试成绩的不显示。

效果图:

这里我们将用到PQ中的“合并”功能,具体思路是:将数据源分为三个表进行操作。

表1、原始数据源保持不变;

表2、将分数用科目名称填充;

表3、将分数用分隔符“/”填充;

最后进行三表按照“姓名”进行合并,最后合并为一列。

具体实现:

“原始表”不需要进行任何操作,直接处理“科目名”表。

直接选中四列科目列,进行逆透视列。

然后我们的目的是重复列名,选中“属性”列,点击“重复列”,删除我们不需要的“值”列。

随后选中“属性”列进行透视列,注意要选择“不要聚合”。

这样第二个表也整理完毕。

同样的方法处理“分隔符”表,先逆透视列,然后新增一列分隔符“/”,随后接着透视列,得到如下结果。

好了,三个表处理完毕,下面我们针对“原始表”进行两两合并。

然后除去“姓名”进行“扩展”。

同样的继续合并,另外一个表。

接着调整一下合并之前的位置,就可以进行“合并”操作啦。

这样就完成了“合并”的需求,加载到旁边我们做一下对比。

新增一个学生,看看是否会动态刷新?

妥妥的有没有!

下面我们对这个结果进行展开操作。

按分隔符进行拆分列。

接着进行逆透视列的操作。

接着拆分,此时不按分隔符拆分了,可以按照固定的字符数进行拆分。

删除不需要的列,进行透视列的操作。

相当妥当。

这个时候新增删除记录,也可以动态刷新,而且科目的顺序不需要一致,随心所欲即可。

你可能感兴趣的文章
Spring Cloud Zuul实现动态路由
查看>>
zuul动态路由支持的路径格式及扩展性测试
查看>>
linux服务器校对时间方法
查看>>
rocketMQ 消息查询(id,key) 运维命令以及java API的用法
查看>>
RocketMQ学习(五):Pull和Push (important)
查看>>
Linux下查看系统启动时间和运行时间
查看>>
数据处理过慢的问题分析(涉及插入查询)
查看>>
JVM线程状态,park, wait, sleep, interrupt, yeild 对比
查看>>
Dubbo 和 Spring Cloud 微服务架构到底孰优孰劣?
查看>>
swagger默认访问地址
查看>>
redis-desktop-manager 的简单使用
查看>>
python+Eclipse+pydev环境搭建
查看>>
python2.7安装paramiko 出现import winrandom importerror
查看>>
redis cluster 集群的一些操作命令
查看>>
redis cluster 全部宕机后重启会自动恢复集群状态
查看>>
python 一篇搞定所有的异常处理
查看>>
python 中全局变量的修改
查看>>
Python logging log日志写入文件
查看>>
分析验证zuul支持做外部网关
查看>>
基于netty的高性能RPC服务器技术简介
查看>>