Power Query中根据Dept ID列替换pm plus列值无生效问题
Power Query替换未生效问题排查与修复
核心问题定位
你的Table.ReplaceValue函数最后一个参数写错了——这个参数是指定要替换值的目标列,你写的是{"Dept ID"},但实际要修改的是pm plus列,导致替换逻辑根本没作用在目标列上。
修正后的代码
#"Added Custom2" = Table.AddColumn(#"Added Custom1", "pm plus", each pmplus[Qualifies for]{List.PositionOf(pmplus[Combined Criteria],[combined criteria])}), #"Replace NA" = Table.ReplaceValue(#"Added Custom2", each [pm plus], each if Text.Contains(Text.From([Dept ID]), "33320") or Text.Contains(Text.From([Dept ID]), "33330") then "PM" else [pm plus], Replacer.ReplaceValue, {"pm plus"})
额外优化与检查点
- 简化判断逻辑:把两个
Text.Contains用or合并,代码更简洁 - 避免多余转换:如果
[pm plus]本身就是文本类型,无需再用Text.From转换,直接保留[pm plus]即可 - 验证数据类型:确认
Dept ID的类型,若本身已是文本,可省略Text.From转换步骤
内容的提问来源于stack exchange,提问作者findwindow
相关产品推荐
相关产品推荐

