You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure Data Factory数据流中使用CONTAINS()函数遇问题求助

ADF数据流Filter Activity表达式错误排查与修正

你的Filter Activity表达式存在两处用法错误,导致筛选未生效,具体问题和修正方案如下:

问题分析

1. contains函数误用

原表达式:contains(record.Organizations.authorOrganization.type,#item.code == 'Y')

  • contains的作用是检查某个值是否存在于集合或字符串中,无法直接用来判断数组对象的属性条件。
  • record.Organizations.authorOrganization是数组类型,直接访问.type会导致路径错误,必须遍历数组中的每个元素来判断type.code的值。

2. filter函数误用

原表达式:filter(org,#item == 'lib')

  • filter函数的返回值是符合条件的数组子集,但Filter Activity需要的是布尔值(true/false)来决定是否保留当前行数据,因此这个表达式无法被正确识别为筛选条件。

修正后的表达式

any(record.Organizations.authorOrganization, #item.type.code == 'Y')
|| contains(org, 'lib')

表达式说明

  • any(record.Organizations.authorOrganization, #item.type.code == 'Y'):遍历authorOrganization数组,只要数组中存在任意一个元素的type.code等于'Y',就返回true。
  • contains(org, 'lib'):检查org数组中是否包含'lib'元素,存在则返回true。

用你的示例JSON测试,该表达式会返回true,符合你「type.code等于'Y'或org包含'lib'」的筛选需求。

内容的提问来源于stack exchange,提问作者thichxai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 13:05:01