Power Query中进行批量值的替换

2020-03-24 15:49:53 浏览数 (1)

例:我们有一个数据表格,里面有一列我们需要根据指定数据进行批量转换。

数据表

替换表

最终的效果

(一) 分析可能需要使用的函数

先把涉及到替换的函数列一下

Table.ReplaceValue, Table.ReplaceRows, List.ReplaceValue, List.ReplaceRange, List.ReplaceMatchingItems, Replacer.ReplaceValue, Replacer.ReplaceText

(二) 根据替换方式挑选函数

  • 首先确定是文本替换,所以需要使用的就是Replacer.ReplaceText
  • 其次因为是对表进行替换,所以会用到Table.ReplaceValue
  • 最后涉及到批量,需要使用循环语句,我们这里使用的是List.Accumulate

(三) 代码书写

代码语言:javascript复制
List.Accumulate(List.Zip({origian_list,replace_list}),  
                    table,     //操作的表
                    (x,y)=>Table.ReplaceValue(x,
                                             y{0},   //原值
                                             y{1},   //替换值
                                             Replacer.ReplaceText,  //文本替换函数
                                             {column_name} //需要替换的列名
                                             )
                    )

解释:

  • 通过List.Zip构建一个新旧值交叉组合成的列表;
  • x代表的是table(需要操作的表);
  • y代表的是交叉组合成的列表,其中y{0}代表的是组合交叉列表中的第一个值,也就是原值,y{1}代表的是组合交叉列表中的第二个值,也就是替换值;
  • 因为涉及到文本替换,所以使用的是Replacer.ReplaceText;
  • 最后是需要替换的列名,需要文本格式。

如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。

0 人点赞