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

如何用Kusto查询对比上周与今日TriggersStarted指标数据

Azure Metrics Kusto 查询:对比今日与上周 TriggersStarted 指标总数

1. 用 let 定义变量存储统计结果

你可以通过let关键字分别定义今日和上周同日的指标统计结果,方便后续对比或复用:

// 统计今日(从当天0点到当前时间)的TriggersStarted总数
let today_total = AzureMetrics
    | where MetricName == "TriggersStarted"
    | where TimeGenerated >= startofday(now())
    | summarize Total = count();

// 统计上周同日(完整一天,如今天是周一则取上周一0点到周二0点)的TriggersStarted总数
let last_week_total = AzureMetrics
    | where MetricName == "TriggersStarted"
    | where TimeGenerated between (startofday(ago(7d)) .. startofday(ago(6d)))
    | summarize Total = count();

2. 合并变量结果完成对比

定义好变量后,通过union结合extend添加周期标识列,就能直观展示两组数据的对比:

today_total | extend Period = "今日"
union (last_week_total | extend Period = "上周同日")

执行后会返回两行数据,分别显示今日和上周同日的指标总数及对应周期。

3. 单查询直接分组对比(无需单独定义变量)

如果不需要复用变量,也可以直接在一个查询中通过extend标记周期,再按周期汇总:

AzureMetrics
    | where MetricName == "TriggersStarted"
    // 限定时间范围为上周同日到今日
    | where TimeGenerated between (startofday(ago(7d)) .. now())
    // 用extend给每行数据标记所属周期
    | extend Period = case(
        TimeGenerated >= startofday(now()), "今日",
        TimeGenerated between (startofday(ago(7d)) .. startofday(ago(6d))), "上周同日",
        ""
    )
    // 过滤掉不属于目标周期的数据
    | where Period != ""
    // 按周期汇总总数
    | summarize Total = count() by Period

关于extend运算符的说明

extend的作用是为每行数据添加自定义列:

  • 若已通过summarize得到单行汇总结果,用extend可以添加标识类列(如上述的Period),方便区分不同统计组;
  • 若针对原始数据行,extend可用于计算每行的衍生属性(比如提取时间中的日期、小时等),但不适用于直接将汇总结果赋值给原始行的列(因为汇总结果是聚合值,和原始行是一对多关系)。

内容的提问来源于stack exchange,提问作者Nikhil Babu Battula

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 02:20:34