前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >虽然这个批量替换的解法看上去更高级,但我更推荐简单的方法!

虽然这个批量替换的解法看上去更高级,但我更推荐简单的方法!

作者头像
大海Power
发布2021-08-31 11:34:23
5920
发布2021-08-31 11:34:23
举报
文章被收录于专栏:用户8950297的专栏

- 问题 -

怎么对数量按条件进行替换?比如,如果小于2000,则置0,大于5000则表示为5000,其他的保留原样(如Excel中公式所示):

- 解法 -

这个问题在PQ中的解法其实有两种,1种如Excel中的增加列,做条件判断取相应的结果;另一种是直接在原列上做替换。

1、增加条件列解法

这个方法非常简单,用最基础的if...then...else...语句知识(甚至可以直接用条件列操作得到):

2、直接替换解法

因为最终结果是对原列数据进行替换,所以,可以考虑直接对原列进行替换的方法,首先我们通过操作替换功能生成步骤公式(其中要查找的值和替换为的值可以随便填,因为这个问题里用不着):

生成公式如下图所示:

我们只需要修改其中的Replacer.ReplaceValue函数,修改如下:

为什么这样修改?关键是要理解Table.ReplaceValue这个函数几个参数之间的关系,具体可以参考文章《10万行30列数据乘上系数,能快一些吗?含“函数作为参数”的触类旁通方法》,其中有比较详细的解析。

- 一点点心得 -

上面两个解法中,方法1非常简单直观,也完全符合我们一贯的操作习惯,方法2则应该是PQ里因为Table.ReplaceValue函数的支持而比较独有的解法,看起来也显得更加高级一些,但是,对于比较多的朋友来说可能并不会自然地第一时间去选它。

个人觉得,两种方法都挺好,但从我在大多数场合下所遇到的实际情况来看,更推荐第1种简单直观的解法。

正如前面所说的,在习惯下就能直接用起来的方法,其实能节省很多时间,因为你不需要做太多专门的构思或者去做一些尝试和验证。

另一方面,在数据分析的过程中,大多数的情况下,我们会在一定程度上保留这种原始的数据列,方便在后续需要做数据的检查、验证或增加条件进一步处理,除非真的对数据储存量的大小或数据运算效率有很大的影响,个人建议尽量保留。

当然,一切都应以实际需要为准,正如前面文章《再用关键词统计这个案例,把3种算法优化思路讲清楚。》所说的,没有什么金科玉律,这只是一点儿个人经验,仅供借鉴。

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

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

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

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

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