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

如何在ADF管道中获取列数据并实现循环遍历?

在ADF管道中提取单列数据并循环遍历的解决方案

方法一:用Lookup活动(推荐,最省心)

Lookup是ADF专门用来获取数据集的原生组件,比Script活动更适配取单列循环的场景:

  • 新建Lookup活动,关联你的SQL Server数据源
  • 编写查询:SELECT 目标列名 FROM 目标表 WHERE 过滤条件(需要去重就加DISTINCT)
  • 关闭「第一行仅」开关(默认开启,关闭后才能获取所有行数据)
  • 配置ForEach活动,将遍历项设为@activity('Lookup_你的活动名').output.value
  • 在ForEach内部的子活动中,用@item().目标列名即可拿到每一行的列值

方法二:若已使用Script活动,处理嵌套数组

Script活动执行SQL后返回的resultSets[0].rows是嵌套数组结构(比如[[值1],[值2]]),可以用ADF表达式转成扁平数组:

  • 先定位到嵌套数组:@activity('Script_你的活动名').output.resultSets[0].rows
  • 用map函数提取每个子数组的第一个元素(即目标列值):
    @map(activity('Script_你的活动名').output.resultSets[0].rows, item()[0])
    
  • 将上述表达式填入ForEach活动的「遍历项」,循环内部直接用@item()就能拿到单个列值

注意事项

  • Lookup活动默认最多返回5000行,若数据量超出,需在Lookup的「设置」中开启分页,或在SQL查询里用OFFSET ... FETCH NEXT ...实现分页
  • 若Script活动返回多组结果集,需调整resultSets的索引(比如resultSets[1])匹配目标数据集

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:47:14