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

如何使用KQL添加总计行,汇总各列数值?

在Kusto查询结果中添加总计行

可以通过两种方式实现需求,在分组统计结果的最后一行添加总计行,汇总所有OperationName的成功数、失败数及总数:

方法一:分开统计后合并

先按OperationName统计各方法的数值,再单独计算总计行,最后将两者合并并排序,确保总计行在末尾:

let T = datatable(OperationName:string, Result:string)
[
   "Method1" , "success",
   "Method1" , "failure",
   "Method1" , "success",
   "Method1" , "success",
   "Method1" , "success",
   "Method1" , "failure",
   "Method2" , "success",
   "Method2" , "failure",
   "Method2" , "failure",
];
// 统计各OperationName的明细数据
let grouped_data = T 
| summarize success = countif(Result == "success")
           ,failure = countif(Result == "failure")
           ,total   = count()
            by OperationName;
// 计算总计行
let total_summary = T
| summarize success = countif(Result == "success")
           ,failure = countif(Result == "failure")
           ,total   = count()
| extend OperationName = "总计";
// 合并数据并排序,让总计行显示在最后
union grouped_data, total_summary
| sort by OperationName asc

方法二:使用with rollup参数(更简洁)

利用Kusto的with rollup汇总功能,自动生成分组的总计行,再将默认的null替换为“总计”:

let T = datatable(OperationName:string, Result:string)
[
   "Method1" , "success",
   "Method1" , "failure",
   "Method1" , "success",
   "Method1" , "success",
   "Method1" , "success",
   "Method1" , "failure",
   "Method2" , "success",
   "Method2" , "failure",
   "Method2" , "failure",
];
T 
| summarize success = countif(Result == "success")
           ,failure = countif(Result == "failure")
           ,total   = count()
            by OperationName with rollup
// 将汇总行的OperationName字段替换为“总计”
| extend OperationName = coalesce(OperationName, "总计")

运行上述任意查询后,结果都会包含各方法的统计数据,以及最后一行的“总计”行,展示所有记录的成功数、失败数和总数总和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:12:44