Azure Synapse中Filter Activity过滤Null记录失败的解决方案咨询
Azure Synapse Filter Activity无法过滤Lookup返回的Null记录解决方案
你的核心问题是过滤表达式没有针对Filter Activity遍历的单条记录判断,而是固定取了Lookup结果的第一条记录(value[0].ID),导致表达式结果对所有记录一致,无法实现逐条过滤。
错误原因分析
你尝试的所有表达式都使用了activity('LookupID').output.value[0].ID,这只会判断Lookup返回的第一条数据的ID值,Filter Activity会将这个固定结果应用到所有待过滤的记录上,自然无法区分哪些是Null记录。
正确的过滤表达式
Filter Activity中需要用item()来代表当前正在遍历的单条记录,结合以下表达式实现过滤:
- 仅剔除ID为Null的记录:
@not(equals(item().ID, null)) - 同时剔除ID为Null或空字符串的记录:
@not(equals(coalesce(item().ID, ''), ''))
关键配置确认
确保Filter Activity的Items属性设置为:
@activity('LookupID').output.value
这个配置是让Filter遍历Lookup返回的所有记录,配合上面的表达式才能逐条判断过滤。
内容的提问来源于stack exchange,提问作者sac
相关产品推荐
相关产品推荐

