博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PowerQuery实战:数据转置的综合应用
阅读量:6967 次
发布时间:2019-06-27

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

PowerQuery实战:数据转置的综合应用

(正文开始)

本案例来源于网友提问。
案例描述:如上图,原格式为数据源,目标格式为需通过PowerQuery整理后的数据结构。
大家可以先想一想,或者试一试,看是否可解决,在看了我以下的思路后,欢迎交流。

分析原格式与目标格式,形成以下思路:

1、5行作为一组
2、每组进行转置
无论是写程序,还是通过软件操作,核心的步骤就这2步。
以下是在PowerBI中操作说明与截图
1、载入数据,如下图(步骤略)
PowerQuery实战:数据转置的综合应用
2、由于5行作为一组,所以需要新增辅助列,以下2步完成此操作。先新增索引列,如图:
PowerQuery实战:数据转置的综合应用
3、索引列的值除以5,然后取余数,就能得到分组的值,如图:
PowerQuery实战:数据转置的综合应用
(1、2、3、4、0即5组数据,按此进行分组)
4、按新建字段“辅助分组列”进行分组,如图:
PowerQuery实战:数据转置的综合应用
5、第一次转置:实现字段值的转置
将下图结构
PowerQuery实战:数据转置的综合应用
转变为下图结构
PowerQuery实战:数据转置的综合应用
关键的这一步代码如下图:
PowerQuery实战:数据转置的综合应用
主要用到函数
Table.FromList:从List创建表格,主要提取字段值
Table.Transpose:表的转置,实现字段值的转置
6、展开字段,如下图:
PowerQuery实战:数据转置的综合应用
7、转置表操作,第二次转置实现整表转置,如下图:
PowerQuery实战:数据转置的综合应用
8、提升标题
PowerQuery实战:数据转置的综合应用
至此,核心步骤已完成,剩下修改字段名称就可以了!

总结:核心步骤在第5步,实现字段值的转置,目标是将字段值的内容与分组字段值放在同一行上。

以上就是本案例的核心步骤说明,希望能得到大家的反馈,看是否有其他办法可完成,欢迎留言,让我们相互学习,共同成长!
(正文结束)

网友回答非常棒

1、通过List.Split实现分组,Table.FromColumns创建表
PowerQuery实战:数据转置的综合应用
这种函数组合非常巧妙,学习了!

2、通过Number.IntegerDivide整除实现分组,与我思路相似性很大

PowerQuery实战:数据转置的综合应用

广告:

1、本文所涉及的示例数据,请在知识星球“PowerBI有问必答”同名主题中下载(PS:知识星球最近在更新,不能发表主题,待更新完成后第一时间上传资料)。
2、同步详细视频已更新至网易云课题与51CTO课程中。

转载于:https://blog.51cto.com/12650297/2380500

你可能感兴趣的文章
Elasticsearch学习总结(02-28 - 03-04)
查看>>
android页面跳转
查看>>
Java内存模型之happens-before
查看>>
LVM逻辑卷轴管理和磁盘配额实验
查看>>
ASP.Net定时任务执行
查看>>
keepalived+nginx负载均衡+ApacheWeb实现高可用
查看>>
约瑟夫环形链表问题、丢手帕问题、剑指offer圆圈中最后一个数问题
查看>>
企业应用平台移动化发展趋势
查看>>
微服务系列(七):将单体应用改造为微服务
查看>>
redis集群部署步骤
查看>>
Centos 配置
查看>>
eclipse svn提交忽略文件及文件夹,ignore设置无效..
查看>>
Supervisor重新加载配置启动新的进程
查看>>
promise
查看>>
es6学习1: 模拟react Comopnent类的实现
查看>>
js继承问题
查看>>
201621123069 《Java程序设计》第十一周学习总结
查看>>
配置telnet和SSH
查看>>
教师课堂教学必备的100个妙招,总有一个适合你!
查看>>
C# 设计开发模式 -观察者模式
查看>>