前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >批量替换 | 多行多列不同字符替换为同一字符

批量替换 | 多行多列不同字符替换为同一字符

作者头像
大海Power
发布2021-08-31 09:57:27
发布2021-08-31 09:57:27
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

- 问题 -

前些日子,发布了文章《10万行30列数据乘上系数,能快一些吗?含“函数作为参数”的触类旁通方法》,结果有朋友留言问,是否能实现多个旧值转换为同1个新值,在Table.ReplaceValue函数里,旧值该怎么填?

为此,我自己造了几个数据,要求把所有数据里的顿号、斜杠、下划线统一替换为横杠,如下图所示:

- 方法 1 -

将需要替换的内容(旧值)以列表的方式传进去,后面按列表的方式用List.Accumulate进行调用处理,公式如下图所示:

代码语言:javascript
代码运行次数:0
运行
复制
= Table.ReplaceValue(
        更改的类型,
        {"、","_","/"},
        "-",
        (x,y,z)=>List.Accumulate(y,x,(s,v)=>Text.Replace(s,v,z)),
        {"货类", "小类"}
)

- 方法 2 -

将需要替换的内容(旧值)以字符串的方式传进去,后面用Text.ToList函数拆解为列表再用List.Accumulate进行调用处理,公式如下图所示:

代码语言:javascript
代码运行次数:0
运行
复制
= Table.ReplaceValue(
        更改的类型,
        "、_/",
        "-",
        (x,y,z)=>List.Accumulate(Text.ToList(y),x,(s,v)=>Text.Replace(s,v,z)),
        {"货类", "小类"}
  )

- 结论 -

从这个例子可以看出,对于Power Query里,如果某个参数(如这里的旧值)可以输入的数据类型没有限制,那其实旧值怎么填并不是关键,关键在于后面的处理函数怎么写。

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

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

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

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

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