Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >效率直线拉升3000倍!基础操作就能做到!|PQ实战

效率直线拉升3000倍!基础操作就能做到!|PQ实战

作者头像
大海Power
发布于 2024-04-11 08:01:43
发布于 2024-04-11 08:01:43
7580
举报

导语:花10%的时间,熟练掌握Power Query的基础操作,解决80%的问题,再或10%的时间,掌握一些儿基础的M函数,再解决15%的问题,剩下的5%,需要的时候问人吧。

前些天,在群里有朋友抛了个Power Query的题目出来,后来听说这其实是狗子的订单处理规则之一:

问题描述得很清楚,推荐大家以后提问题的时候也参考这个方式,说清楚规则(逻辑),尽可能举例子,并给出想要的结果。

出题的朋友附上了初始的解法并给出了运行时长:158秒!

我们看一下他的具体解法:

这个公式很直接,就是筛选出到当前行为止与当前订单信息相同的数据进行计数,如果等于1,则是非重复,如果大于1,则重复。等同于Excel下面公式的方法:

- 1 -

直接优化公式

在前面很多文章中,我都提过,对于Table.SelectRows进行数据筛选的问题,首先可以对筛选的表进行缓存,以提高效率,加缓存非常简单,直接在原来的步骤里套上Table.Buffer函数即可:

加了Buffer之后,运行时间马上从158秒变成22秒,时间缩减到七分之一:

- 2 -

操作法

实际上,这个问题非常简单,直接操作即可,而且,效率还非常高!

因为我们只要各订单第一条数据标注非重复,所以,我们可以直接通过删重复得到各订单的第一条数据,这样即可以直接标记为“非重复”——这就直接解决了核心的“非重复”数据标志的问题。

但是,我们毕竟不能把重复的数据都丢掉,所以,我们可以把删除掉重复项的数据和源数据进行匹配(提前加好索引+合并查询)。具体操作步骤如下:

Step-01 添加索引

数据导入PQ后,先添加索引

Step-02 复制查询

复制一份数据,用于删重复以得到各订单的第一行

Step-03 删除重复项

对复制出来的查询进行删除重复项

Step-04 添加自定义列,标记“非重复”:

Step-05 合并查询

将非重复内容匹配回需要输出的结果表:

Step-06 展开、替换

展开后得到“非重复”内容,然后对null的内容直接替换为“重复”:

最后删除掉不需要的列然后加载到Excel即可,通过这种方式处理的效率怎样呢?刷新一下看看:

0.03-0.04秒!相对22秒,再提升500倍!

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
不支持连续分隔符当作一个处理?这个方法很多人没想到!|PQ实战
导语:一般来说,Excel里能实现的对数据的处理,在Power Query里都可以实现,有的Excel里方便一点儿,有的PQ里更快一些儿,但关键不在于多几个步骤还是少几个步骤,而是你是否需要重复地做。
大海Power
2024/03/13
3030
不支持连续分隔符当作一个处理?这个方法很多人没想到!|PQ实战
多文件数据横向汇总,怎么整?| Power Query实战
最近遇到一位朋友提问:怎么将多个文本文件(据说100多份)按列(横向)汇总?经过详细了解,需求如下图所示:
大海Power
2023/02/06
1.6K0
数据堆在一列又混乱,怎么整理?熟练功能操作,能避免复杂代码 | Power Query实战案例
在群里看到个例子,将一些堆在一列,而且顺序也不太对的数据给整理好,给出的步骤是好大一串代码:
大海Power
2022/04/11
9271
数据堆在一列又混乱,怎么整理?熟练功能操作,能避免复杂代码 | Power Query实战案例
删除重复项很简单?来看看这个实际工作问题? | Power Query实战
从A地到B地,以及从B地到A地,视为重复的数据,只需要其中一条(对于多条相同起止——如A-B的情况已删重复):
大海Power
2022/11/07
1.6K0
删除重复项很简单?来看看这个实际工作问题? | Power Query实战
PQ和超级表结合,实现文件夹及文档管理
利用Excel管理文件夹及相关文档,可以很方便地利用Excel的筛选、查找等功能,而且,借助Excel中的HyperLink函数,可以实现相关的链接,达到直接通过Excel打开相应文档功能。具体实现方法如下:
大海Power
2021/08/30
9600
读取上一行数据好卡啊!怎样能快一点儿? | Power Query案例实战
做数据处理的时候,会经常遇到在当前行读取上一行数据的问题,在Excel里,可以直接通过单元格的相对引用来实现。
大海Power
2022/04/11
3.1K0
读取上一行数据好卡啊!怎样能快一点儿? | Power Query案例实战
怎么剔除部分列求和?1个小问题,8集免费视频 | PQ基础到实战
日常使用Power Query的过程中,大家可能会对表(Table)、列(List)筛选部分数据比较熟悉,但是,如果是对于一行(Record),要筛选(或剔除)部分列(字段)进行计算,那该怎么办呢?
大海Power
2022/02/28
9640
怎么剔除部分列求和?1个小问题,8集免费视频 | PQ基础到实战
PQ- 综合实战:用Excel批量获取百度搜索结果——这感觉真是“爽”!
小勤:我这里有一堆的地址,能不能知道哪些是医院,哪些不是? 大海:呵呵,你自己看着这些地址能看得出来吗? 小勤:当然不能啊,上面又没写着医院两个字。只能一个个百度…… 大海:那我们就让Excel自己去自动百度呗。 小勤:啊!这也行! 大海:Power Query不是可以做爬虫吗?专治这种批量累人活儿。 Step-01:获取地址数据到PQ Step-02:添加自定义列,用百度搜索引擎对地址进行搜索(返回第一页,一般10-15条),这个函数非常简单,就是用Web.Contents读取网页内容。公式:We
大海Power
2021/08/30
2.7K1
综合实战:最低价客户分组合并及计数
小勤:最近公司在统计各类产品的最低价客户情况,要求全部汇总到一个表里交给领导,大概要求是这样的:
大海Power
2021/08/30
6990
PQ-M及函数:对比Excel,一次搞定5个最常用的文本函数
大海:好的,在PowerQuery里,文本类函数可能用得比数值计算函数还要多。这里我们通过和Excel里的常用文本处理函数进行对比的方式来学,可能会效果更好。
大海Power
2021/08/31
1K0
完全不用记!无数个快捷键自动控制Excel!甚至所有软件!| Power Automate实战
最近,不少朋友在问我怎么用Power Automate for Desktop操作Excel的问题,比如:
大海Power
2022/10/29
2.3K0
完全不用记!无数个快捷键自动控制Excel!甚至所有软件!| Power Automate实战
需要多次VLOOKUP的问题,在Power Query里原来这么简单! | PQ实战
这是一个很常见的问题:要读取的数据需要通过多次vlookup取得,比如下面简化的滚动效益测算问题,先按合同号匹配,如果匹配不到,再按计划号匹配,在Excel里使用2次vlookup函数实现,如下图所示:
大海Power
2022/11/07
2.4K0
需要多次VLOOKUP的问题,在Power Query里原来这么简单! | PQ实战
分离金额,神级公式写不粗来,我用PowerQuery
小勤:大海,怎么把这个付款详情的数据给分离出来啊?我在网上搜了个神长公式,但看不懂啊!
大海Power
2021/08/30
5540
PQ-综合实战:工资条制作一键刷新之M解
大海:嗯。用函数解的话步骤上省一些,开始之前咱们先确定一下做的思路:工资表原来的数据已经有了,咱们实际只需要构造一个同样多行的重复标题表和一个同样多行的空白表,然后排序就可以了。
大海Power
2021/08/30
4810
批量导入Excel文件,为什么我导入的数据重复了?
这里,显然是因为将合并工作表和数据源放在了同一个文件夹下,所以Power Query将合并工作表也显示了出来,并且,还有一个前面带“~$”的合并工作表,是因为合并工作表当前打开状态,生成了一个临时文件。所以在后续编辑查询的时候我们首先要把合并工作表的内容过滤掉,否则以后刷新数据时会连合并工作表的数据一起导入。
大海Power
2021/08/30
3.5K0
厉害了,word哥,用PQ将word简历表格数据批量汇总到Excel,这实在是666666
小勤:大海,公司汇总了所有应聘者的简历,但都是分散的word文件,一个人一份,有没有办法将其中的姓名、性别、手机和邮箱等信息汇总到Excel里啊?
大海Power
2021/08/30
1.3K0
无码实现​从非数字到数字拆分到行,是怎么做到的?| Power Query技巧
在Power Query里,拆分列的功能非常强大,除了按分隔符、字符数等基本拆分功能外,还支持如从大写到小写或相反,从数据到非数字或相反等等特殊方式,相信很多朋友也都使用过:
大海Power
2022/11/07
1.2K0
无码实现​从非数字到数字拆分到行,是怎么做到的?| Power Query技巧
又一种数据堆在一列还被切断的情况,怎么办?|PQ实战
导语:日常工作中很难避免碰到一些奇奇怪怪的数据,但没办法,谁叫我们都是苦命的表哥表姐表叔表婶呢。
大海Power
2024/06/18
1980
又一种数据堆在一列还被切断的情况,怎么办?|PQ实战
PQ-综合实战:格式化表单转数据明细之2:多表批量转换汇总
小勤:嗯。我刚试了一下,好简单,原来那个《单个格式表转换》里读数据的代码是这样的:
大海Power
2021/08/30
4010
汇总Excel数据,列名不一样怎么办?| Power Query实战
日常工作中,很多朋友遇到类似如下的问题——多个要汇总的Excel工作表,列名却存在一些差异,比如有的表里叫“日期”,而另一个表里可能是“采购日期”……
大海Power
2023/02/06
2.4K0
推荐阅读
不支持连续分隔符当作一个处理?这个方法很多人没想到!|PQ实战
3030
多文件数据横向汇总,怎么整?| Power Query实战
1.6K0
数据堆在一列又混乱,怎么整理?熟练功能操作,能避免复杂代码 | Power Query实战案例
9271
删除重复项很简单?来看看这个实际工作问题? | Power Query实战
1.6K0
PQ和超级表结合,实现文件夹及文档管理
9600
读取上一行数据好卡啊!怎样能快一点儿? | Power Query案例实战
3.1K0
怎么剔除部分列求和?1个小问题,8集免费视频 | PQ基础到实战
9640
PQ- 综合实战:用Excel批量获取百度搜索结果——这感觉真是“爽”!
2.7K1
综合实战:最低价客户分组合并及计数
6990
PQ-M及函数:对比Excel,一次搞定5个最常用的文本函数
1K0
完全不用记!无数个快捷键自动控制Excel!甚至所有软件!| Power Automate实战
2.3K0
需要多次VLOOKUP的问题,在Power Query里原来这么简单! | PQ实战
2.4K0
分离金额,神级公式写不粗来,我用PowerQuery
5540
PQ-综合实战:工资条制作一键刷新之M解
4810
批量导入Excel文件,为什么我导入的数据重复了?
3.5K0
厉害了,word哥,用PQ将word简历表格数据批量汇总到Excel,这实在是666666
1.3K0
无码实现​从非数字到数字拆分到行,是怎么做到的?| Power Query技巧
1.2K0
又一种数据堆在一列还被切断的情况,怎么办?|PQ实战
1980
PQ-综合实战:格式化表单转数据明细之2:多表批量转换汇总
4010
汇总Excel数据,列名不一样怎么办?| Power Query实战
2.4K0
相关推荐
不支持连续分隔符当作一个处理?这个方法很多人没想到!|PQ实战
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档