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

如何在KQL中将多查询的count统计结果合并到单条查询计算百分比

KQL单查询合并多统计值计算百分比方案

完全可以在单条KQL查询中完成所有计算,不需要手动拷贝统计值。核心是使用toscalar()函数将两个count查询的结果转换为可直接引用的标量,示例实现如下:

// 拉取实际参与足球比赛的人数统计值,转换为标量
let football_count = toscalar(
    database("database1").games_played
    | where game_type contains "football"
    | where Time > ago(1m)
    | count
);
// 拉取注册足球项目的人数统计值,转换为标量
let registered_count = toscalar(
    database("db2").registerd_players
    | where EventInfo_Time > ago(1m)
    | where registered_game contains "football"
    | count
);
// 直接计算输出结果
print cnt1 = football_count, cnt2 = registered_count 
| extend percentage = round(todouble(cnt1) * 100 / todouble(cnt2), 2)
| project percentage, cnt2, cnt1

补充说明

  • toscalar() 作用是将返回单行单列的查询结果转换为可直接调用的标量值,全程自动拉取数据,不需要人工复制数值
  • 可选优化:可以加分支判断避免分母为0的异常报错,写法如下:
| extend percentage = iif(cnt2 == 0, 0.0, round(todouble(cnt1) * 100 / todouble(cnt2), 2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 11:09:02