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

Azure App Insights自定义指标Kusto查询可视化优化求助

修正后的Azure App Insights Kusto查询(解决无数据日期显示及成功/失败拆分统计)

针对你提出的两个问题,这里给出修正后的Kusto查询,既能展示指定日期范围内的所有日期(包括无数据的日期),又能分别统计支付成功(1)和失败(0)的次数:

// 生成指定范围的连续日期序列,示例为过去30天,可按需调整时间范围
let date_range = range date from ago(30d) to now() step 1d
| project date = format_datetime(date, 'yyyy-MM-dd');

// 提取支付相关指标,按日期和结果值分组统计次数
let payment_data = customMetrics
| where name startswith "PaymentSuccess"
| extend result = tolong(value)  // 将指标值转为整型,确保0/1判断准确
| where result in (0, 1)  // 过滤无效值,仅保留成功/失败标记
| summarize count = count() by 
    date = format_datetime(timestamp, 'yyyy-MM-dd'),
    result;

// 左连接连续日期与统计数据,填充无数据日期的0值
date_range
| left join payment_data on date
| extend 
    result = coalesce(result, -1),  // 用-1标记无数据的日期
    count = coalesce(count, 0)
// 转换为列展示成功/失败次数,适配柱状图需求
| evaluate pivot(result, sum(count), date)
| project 
    date,
    支付失败 = coalesce(`0`, 0),
    支付成功 = coalesce(`1`, 0)
| order by date desc
| render columnchart

关键逻辑说明:

  • 连续日期生成:通过range函数生成完整的日期序列,解决无数据日期不显示的问题
  • 结果拆分统计:提取指标的value字段作为成功/失败标记,按日期和标记分组统计次数
  • 空值填充:左连接后用coalesce将空统计值替换为0,保证每个日期都有完整的成功/失败数据
  • 格式转换:用pivot将行式统计转为列式,让柱状图可以同时展示两类数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:40:33