使用 List.Accumulate 实现批量替换

在工作中,我们可能会遇到希望将某列中的某些字符串批量替换为另外一些,比如SEM在账户调整中需要批量将一些落地页更换为另一些。或者我们希望批量将一些数据进行规整,将蓝色替换为01,黄色替换为02等等。手动替换将造成大量重复的替换操作。本文的目的是通过List.Accumulate模拟手工替换的过程,实现自动替换。

将已经整理好的替换表和数据源加载到PBI中
替换表的格式为:需替换文本,新文本两列,顺序不可更改。
核心语句:List.Accumulate(Table.ToRows(替换表),数据源,(x,y)=>Table.ReplaceValue(x,y{0},y{1},Replacer.ReplaceText,{"需要替换的列"})

核心思路是:将替换表转换为List,利用List.Accumulate的特性,在替换表List到达末尾之前,会不断重复Table.ReplaceValue,对替换表中需要替换列,进行文本替换操作。将替换表中的需替换文本,替换为替换表中的新文本

效果展示
file
代码
file

By 湛蓝碧空