Power Query中用M代码实现列值对比并替换指定列内容
在Power Query中用M代码实现列值对比替换的解决方案
完全可以用M代码实现你的需求,直接修改Address3和Address4列的内容就行,不用纠结添加条件列的方式,步骤和代码如下:
操作步骤
- 打开Power Query编辑器,选中你要处理的数据表
- 点击顶部菜单栏的高级编辑器,进入代码编辑界面
示例M代码
假设你的数据源步骤名为源,把以下代码整合到你的M脚本中:
let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], // 替换成你实际的数据源获取代码 清理Address4 = Table.TransformColumns(源, {{"Address4", each if _ = [Country] then "" else _}}), 清理Address3 = Table.TransformColumns(清理Address4, {{"Address3", each if _ = [Country] then "" else _}}) in 清理Address3
代码说明
Table.TransformColumns是Power Query中批量转换列内容的核心函数,第一个参数是待处理的表,第二个参数是列名与转换规则的配对each if _ = [Country] then "" else _:_代表当前行的Address4/Address3列值,逐行对比同一行的Country列值,相等就替换为空字符串,否则保留原内容
处理完成后,Address3和Address4列中与Country列重复的内容会被清空,仅保留Country列的国家名称。
内容的提问来源于stack exchange,提问作者YOT
相关产品推荐
相关产品推荐

