Power Query技术求助:如何判断BPD reference列值是否存在于Reference列?
Power Query实现跨列全值匹配检查
方法1:直接用List.Contains生成判断列
- 打开Power Query编辑器,选中目标数据表
- 点击顶部「添加列」→「自定义列」
- 在自定义列输入框里粘贴以下公式,记得把
#"之前的步骤名"换成你当前数据表的实际步骤名称(比如左侧步骤栏里的「源」或者你重命名过的步骤):if List.Contains(#"之前的步骤名"[Reference], [BPD reference]) then "Yes" else "No" - 点击确定,就能得到标注「Yes/No」的新列
方法2:提取唯一值优化性能(适合大数据表)
如果数据量很大、Reference列重复值多,先提取唯一值能加快计算:
- 右键点击「Reference」列 →「删除重复项」,生成一个只有唯一值的临时查询(可以在左侧查询栏重命名,比如叫「Reference唯一值」)
- 回到原数据表,添加自定义列,公式改成:
if List.Contains(#"Reference唯一值"[Reference], [BPD reference]) then "Yes" else "No"
关于合并操作无效的原因
你之前用的合并功能是按匹配键对齐行进行合并,只有同行的两个值相等才会匹配,不是检查整个列的所有行,所以达不到需求。
内容的提问来源于stack exchange,提问作者Salvador
相关产品推荐
相关产品推荐

