前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不支持连续分隔符当作一个处理?这个方法很多人没想到!|PQ实战

不支持连续分隔符当作一个处理?这个方法很多人没想到!|PQ实战

作者头像
大海Power
发布2024-03-13 13:16:53
1150
发布2024-03-13 13:16:53
举报

导语:一般来说,Excel里能实现的对数据的处理,在Power Query里都可以实现,有的Excel里方便一点儿,有的PQ里更快一些儿,但关键不在于多几个步骤还是少几个步骤,而是你是否需要重复地做。

在做数据分列的时候,如果碰到分隔符连续出现的情况,比如用空格分列的时候,有的地方连续几个空格,那到底是分成几个,还是只当做一个来处理?

这个问题在Excel里处理起来很方便,因为有专门的选项:

但是,如果要在Power Query里处理这种情况,就比较啰嗦一些了,下面提供两种方法,一种复刻Excel中的操作结果,还有一种则是推荐用于需要重复处理类似工作时,可以做到动态适应数据变化、一键刷新的工作场景。

- 1 -

按数字到非数字转换拆分

显然,PQ里目前是没有直接设置相应选项的处理方式的,但是,我们可以换一个可能很多人没有想到的思路:连续分隔符的问题,跟按数字(分隔符)到非数字(分隔符)的转换不是一个道理吗?

Step-01 按照从数字到非数字转换

Step-02 修改步骤公式

将两处”0”..”9” 改为 “ “(空格),将最后1个参数的内容{“姓名.1”,”姓名.2”}改为数字4

修改公式后即可得到想要结果:

问题来了,最后那个参数为啥写4?实际上就是,分列的时候怎么知道要分几列?

其实我不知道,而是事先通过其他操作步骤得到的。具体如下:

Step-01 重复列

Step-02 按空格分列到行

Step-03 筛选去掉空内容

Step-04 分组统计行数

Step-05 统计最大值

通过上面的操作,即可得到最大会分成几列。此时,我们再回到操作的起点,按照方法的起始步骤进行操作和修改步骤公式:

然后,再把原来为了得到最大列数的步骤删掉即可:

有的朋友可能会说,这个步骤这么多,好麻烦啊。

的确是,如果你只是为了用Power Query去复刻Excel里的效果的话,目前只能这么做,但是,如果对Power Query里的操作比较熟练的话,几个步骤连续操作下来其实也很快。

另外,回到这个问题,这种问题如果只是处理一次,那建议直接在Excel里处理就好了,没有必要放到Power Query里找麻烦。

但是,如果说这个活儿需要随着数据的不断变化,经常重复地做,那放在Power Query里就很有意义,而且,建议换一种方式处理成可动态适应数据拆分后可能增加或减少列的情况。

- 2 -

拆行后筛选再分组加索引透视

Step-01 重复列

Step-02 按空格分列到行

Step-03 筛选去掉空内容

Step-04 分组加索引

修改步骤公式如下:

展开得到添加好索引的结果。

Step-05 用索引列以不要聚合的方式透视拆分出来的内容列

通过这种方式处理得到的结果,可以随着要拆分内容的变化而动态适应的结果。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档