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

KQL查询对比今日与昨日同时段数据及图表优化问题

解决KQL跨时段数据对比的两个问题

问题1:时间戳对齐与缺失值填充

原查询用row_number()关联两日数据的方式不可靠,因为两日的分钟桶可能存在缺失(比如某分钟昨日有数据今日无,反之亦然),导致无法精准对齐。正确做法是将昨日的时间戳偏移到今日对应的时段,再通过fullouter join关联所有时间桶,最后用coalesce填充缺失的0值。

修改后的查询示例:

let timeRange = 1h;
let todayData = SigninLogs
    | where TimeGenerated > ago(timeRange)
    | summarize TodayCount = count() by bin(TimeGenerated, 1m)
    | project TimeBucket = TimeGenerated, TodayCount;
let yesterdayData = SigninLogs
    | where TimeGenerated between (ago(timeRange + 1d) .. ago(1d))
    | summarize YesterdayCount = count() by bin(TimeGenerated, 1m)
    // 将昨日的时间桶偏移为今日对应的时段,实现精准对齐
    | project TimeBucket = TimeGenerated + 1d, YesterdayCount;
// 全外连接保留所有时间桶,用0填充缺失的计数
todayData
| fullouter join yesterdayData on TimeBucket
| project TimeBucket, TodayCount = coalesce(TodayCount, 0), YesterdayCount = coalesce(YesterdayCount, 0)

问题2:图表展示优化

移除多余列

在上述查询的末尾,通过project指定仅保留需要展示的列(TimeBucket、TodayCount、YesterdayCount)即可,从根源避免row、row1这类辅助列出现在结果中。

Y轴缩放(无需修改数值)

时间图表的Y轴缩放不需要改动KQL查询里的数值,直接在可视化面板的设置中调整:

  • 找到Y轴配置选项
  • 手动设置Y轴的最小值/最大值,或开启精细自动缩放模式(不同可视化工具操作略有差异,核心是通过面板配置实现缩放,无需修改查询逻辑)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:47:19