Power Query自定义列:获取其他行数据的实现方案咨询
在Power Query中实现员工Location补全(基于经理Location)
实现步骤
- 打开Power Query编辑器,加载你的员工数据表(假设表名为
员工表) - 点击添加列选项卡 → 自定义列,在弹出的编辑框中输入以下M语言代码:
if [Location] <> null and [Location] <> "" then [Location] else let ManagerLocation = List.First(Table.SelectRows(员工表, each [员工ID] = [Manager ID])[Location]) in if ManagerLocation <> null and ManagerLocation <> "" then ManagerLocation else null
代码逻辑说明
- 先判断当前员工的
Location是否为有效非空值,若是则直接使用自身的Location - 若员工Location为空,通过
Table.SelectRows筛选出与当前员工Manager ID匹配的经理记录,再用List.First提取经理的Location - 最后判断经理的Location是否有效,有效则返回该值,否则返回空值
注意事项
- 请将代码中的
员工表替换为你实际的数据表名称 - 如果存在顶级经理(无上级),
List.First会返回null,最终结果也会留空,符合需求 - 若需要处理包含空格的"空值",可以将判断条件改为
Text.Trim([Location]) <> ""
内容的提问来源于stack exchange,提问作者Olendris63
相关产品推荐
相关产品推荐

