Excel Power Query按ID关联两表新增指定列的自定义公式求助
Power Query 跨表匹配Entities的level字段自定义列解决方案
首先确认Entities表已导入当前Power Query查询组,查询名称无拼写错误。
自定义列公式写法
在Tickets表的自定义列编辑框中直接输入以下公式即可:
Table.SelectRows(Entities, (param) => param[id] = [entities_id]){0}[level]
公式说明
Table.SelectRows(Entities, (param) => param[id] = [entities_id]):筛选Entities表中id与当前Tickets行entities_id相等的所有行{0}:提取筛选结果的第一行(Entities表id为唯一主键,因此仅会返回1行匹配结果)[level]:提取匹配行的level字段值
兼容无匹配场景的优化写法
如果存在Tickets的entities_id在Entities表中没有对应记录的场景,可增加错误处理避免查询报错:
try Table.SelectRows(Entities, (param) => param[id] = [entities_id]){0}[level] otherwise null
无匹配时将自动返回空值,不影响整体查询加载。
更高效的替代方案:无需手写自定义列,直接使用合并查询功能操作:选中Tickets表 → 点击顶部「合并查询」→ 关联列分别选择Tickets的
entities_id和Entities的id→ 合并完成后展开生成的新列,仅勾选level字段即可,该方案在数据量较大时的执行效率远高于逐行计算的自定义列。
内容的提问来源于stack exchange,提问作者Guillaume
相关产品推荐
相关产品推荐

