之前我们有个例子是批量关键词的替换,我们使用的是Table.ReplaceValue,但是有一个问题,如果存在同样的字符,则会被直接替换掉,也就是模糊匹配每一个值。
Power Query中进行批量值的替换
如果我们需要进行精确的替换该如何操作呢?
数据表
替换表
结果表
要进行精确匹配替换,我们找到函数List.ReplaceMatchingItems,是针对完全匹配来进行替换的。
代码语言:javascript复制Table.TransformColumns(源,
{"数值",each List.ReplaceMatchingItems({_},
List.Zip({替换表[原始值],替换表[替换值]})
){0}
})
解释:
- 首先因为是需要列替换,首先就要把原来的值转换成list格式。
- 其次List.RemoveMatchingItems第2参数是一个新旧交替的list,格式为{{原值1,替换值1},{原值2,替换值2}}这种格式,所以使用了List.Zip进行构造。
- 最后通过{0}把列表的值给提取出来
因为是在原表的基础上进行的操作,所以还需要使用Table.TransformColumn函数进行转换处理。这样我们就可以进行绝对匹配的情况来进行替换了。
如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。