如何合并Filter与Lookup Activity结果并在ForEach Activity中使用?
解决Filter与Lookup结果合并问题
当前写法的问题
你用@json(concat(string(activity('Filter1').output.Value), string(activity('LookfileList').output.value)))的方式,会把两个数组的字符串直接拼接成[...Filter元素...][...Lookup元素...],这是无效的JSON结构。JSON解析器只会识别第一个完整的数组,所以最终只显示Filter的结果。
正确的合并方式
在Azure Data Factory中,直接对数组对象进行合并即可,不需要转字符串再解析:
方法1:直接拼接数组(保留所有元素,无去重)
使用concat函数直接合并两个数组:
@concat(activity('Filter1').output.Value, activity('LookfileList').output.value)
方法2:去重合并(自动移除重复元素)
如果需要合并时去重,使用union函数:
@union(activity('Filter1').output.Value, activity('LookfileList').output.value)
验证效果
合并后你会得到包含Filter的3个文件对象 + Lookup的3个表配置对象的数组,ForEach Activity可以直接遍历这个变量中的所有元素。
内容的提问来源于stack exchange,提问作者Rohit Kulkarni
相关产品推荐
相关产品推荐

