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

Azure Workbook中KQL查询如何统计两列数据并同表展示?

解决KQL多列统计与变量合并问题

一、直接实现两列统计(避免语法错误)

根据需求,分两种常见场景给出正确写法:

1. 统计两列的非空条目总数

如果需要分别统计values_in_use_connections_d和values_available_connection_d的非空行数,用countif配合isnotempty实现:

SWFLogOSot_CL
| summarize 
    在用连接数统计 = countif(isnotempty(values_in_use_connections_d)),
    可用连接数统计 = countif(isnotempty(values_available_connection_d))

2. 按两列组合分组统计计数

如果需要按两列的取值组合分组,统计每组出现的次数,直接在by后同时指定两列即可:

SWFLogOSot_CL
| summarize 计数 = count() by values_in_use_connections_d, values_available_connection_d

之前添加第二列报错大概率是语法格式错误(比如漏写逗号、列名拼写错误),按上述写法即可避免。

二、合并变量存储的统计结果

如果已经用两个变量分别存储单列统计数据,可根据需求选择以下合并方式:

1. 纵向合并(将两个统计结果按行拼接)

给两个变量的统计结果统一添加标识列,再用union合并:

let 在用连接统计 = SWFLogOSot_CL 
    | summarize 计数 = count() by 取值 = values_in_use_connections_d
    | extend 指标类型 = "在用连接";
let 可用连接统计 = SWFLogOSot_CL 
    | summarize 计数 = count() by 取值 = values_available_connection_d
    | extend 指标类型 = "可用连接";
union 在用连接统计, 可用连接统计

2. 横向合并(将两个汇总值放在同一行展示)

如果变量存储的是单列的总计数,用toscalar将变量转为标量值,再用print输出:

let 在用连接总数 = toscalar(SWFLogOSot_CL | summarize countif(isnotempty(values_in_use_connections_d)));
let 可用连接总数 = toscalar(SWFLogOSot_CL | summarize countif(isnotempty(values_available_connection_d)));
print 在用连接总数, 可用连接总数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 20:08:11