ADF数据流Select操作动态选列失败问题求助
ADF数据流Select操作动态列名选择解决方案
你的问题出在表达式写法错误,contains函数的第二个参数不需要加#item==,直接使用内置变量name即可。
正确表达式
contains($colNames, name)
原理说明
在ADF数据流的动态列规则中,name是内置变量,代表当前遍历的列名称。contains函数的作用是检查第一个参数(数组)是否包含第二个参数(单个值),直接传入name就能匹配数组中的列名。
操作步骤
- 进入Select操作的动态列模式
- 添加「基于名称的规则」
- 在规则表达式框中输入上述正确表达式
- 确认后,
colNames数组中指定的列会被自动选中
注意事项
- 确保
colNames参数是字符串数组格式,例如["user_id", "user_name", "create_time"] - 列名匹配默认大小写敏感,若需忽略大小写,可使用如下表达式:
该表达式先将数组中的所有列名转为小写,再和当前列名的小写形式匹配。contains(map($colNames, #item -> lower(#item)), lower(name))
内容的提问来源于stack exchange,提问作者KBR
相关产品推荐
相关产品推荐

