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

如何在Kusto中循环执行查询?批量调用函数合并结果

在Kusto中批量调用函数并合并结果

当然可以实现,Kusto是声明式的集合型查询语言,不需要传统的循环语法,通过将数组展开为行集,再批量调用函数就能达成需求。

实现方案

假设你的函数A是表格函数(接收字符串参数并返回单行多列数据),可以用以下两种方式实现:

方式1:基于动态数组展开

// 定义目标字符串数组
let target_list = dynamic(["apples", "banana", "pear"]);
// 将数组展开为单行转多行的表
target_list
| mv-expand value to typeof(string)
// 对每一行的参数调用函数A,自动合并所有结果
| invoke A(value)

方式2:直接用数据表定义参数列表

如果参数列表固定,用datatable定义会更具可读性:

datatable(fruit: string) [
    "apples",
    "banana",
    "pear"
]
| invoke A(fruit)

原理说明

Kusto会自动处理行集的批量操作:

  1. 先把数组/列表转换成包含单个参数列的表,每个元素对应一行
  2. 通过invoke关键字对每一行的参数调用表格函数A
  3. 所有函数返回的单行结果会自动合并成一个完整的输出表,完全匹配你需要的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:30:32