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

Kusto数据透视表聚合问题:按错误合并系统并汇总统计

Kusto透视表聚合解决方案

针对你需要按Error列聚合、拼接System并汇总日期错误数的需求,可通过以下两种方式实现:

方式一:固定日期场景(如最近3天)

如果统计的日期范围固定(如Day-1到Day-3),可以直接指定日期列进行汇总:

<data processing>
// 1. 先按Error、System、日期维度统计错误数
| summarize ErrorCount = count() by Error, System, day
// 2. 生成透视表,得到每个Error+System组合的日期错误数
| evaluate pivot(day, sum(ErrorCount), Error, System)
// 3. 按Error聚合:拼接System,汇总各日期列数值
| summarize 
    System = strcat_array(make_set(System), ","), // 去重拼接系统名称,需保留重复则用make_list
    Day-1 = sum(Day-1),
    Day-2 = sum(Day-2),
    Day-3 = sum(Day-3)
by Error

方式二:动态日期场景(如最近x天,天数不固定)

如果日期范围是动态变化的,可通过动态对象处理避免手动维护日期列:

<data processing>
// 1. 按Error、System、日期统计错误数
| summarize ErrorCount = count() by Error, System, day
// 2. 转换日期格式为"Day-n",打包成键值对
| extend day_col = strcat("Day-", day)
| summarize 
    System = strcat_array(make_set(System), ","),
    day_values = make_bag(pack(day_col, ErrorCount))
by Error, System
// 3. 按Error合并系统列表和日期计数
| summarize 
    System = strcat_array(make_set(System), ","),
    all_day_values = bag_merge(day_values)
by Error
// 4. 展开动态对象为日期列
| evaluate bag_unpack(all_day_values)
// 5. 为缺失的日期列补0(可选)
| extend 
    Day-1 = coalesce(Day-1, 0),
    Day-2 = coalesce(Day-2, 0),
    Day-3 = coalesce(Day-3, 0)
// 6. 调整列顺序
| project Error, System, Day-1, Day-2, Day-3

关键逻辑说明

  • strcat_array(make_set(System), ","):对同一错误下的系统名称去重后拼接成逗号分隔字符串,若需保留重复出现的系统,替换make_set为make_list即可。
  • pivot函数:用于生成日期维度的透视列,结合summarize完成基础的分组统计。
  • 动态场景下的make_bag+bag_unpack:实现对不固定日期列的自动处理,无需手动修改代码适配日期范围。

内容的提问来源于stack exchange,提问作者person.483

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 16:09:59