如何在Power Query中进行绝对匹配替换?

2020-03-24 15:51:04 浏览数 (1)

之前我们有个例子是批量关键词的替换,我们使用的是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函数进行转换处理。这样我们就可以进行绝对匹配的情况来进行替换了。

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

0 人点赞