Power Query Editor多列批量条件修改实现方案咨询
Power Query批量条件多列修改实现
Power Query完全支持基于初始状态一次性完成多列条件修改,无需拆分多个Table.ReplaceValue步骤,可彻底避免分步操作导致的变量状态变更问题。
实现代码
假设你的数据源表名为Source,使用Table.TransformRows函数即可基于每一行的初始值判断条件,一次性更新目标列:
let Source = 你的数据源表, UpdatedTable = Table.TransformRows(Source, each if [Scope] = "A" and [ActionNeeded] <> null and [CommentCOPY] = null then // 满足条件时更新指定列,其余列保留原值 Record.TransformFields(_, { {"CommentCOPY", (x) => [Comment]}, {"Action", (x) => [ActionNeeded]}, {"AssignedTo", (x) => "Manager"} }) else // 不满足条件时返回原行 _ ), // 将转换后的行列表转回表格结构 FinalTable = Table.FromRecords(UpdatedTable) in FinalTable
代码说明
Table.TransformRows遍历每一行时,所有条件判断均基于该行的原始初始值,不会受后续列修改的影响,完美解决分步操作的变量状态问题。Record.TransformFields仅对指定字段进行更新,未提及的字段自动保留原值,无需手动复制所有列。- 条件判断严格匹配要求的三个规则:
Scope = "A"、ActionNeeded不为空、CommentCOPY为空,仅当三者同时满足时执行更新。
内容的提问来源于stack exchange,提问作者Jason Rogers
相关产品推荐
相关产品推荐

