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

KQL查询生成的Adobe Acrobat应用饼图数据异常求助

问题分析与修正方案

原查询统计数量异常,主要是分组逻辑和版本判断逻辑存在问题,以下是修正后的查询及说明:

修正后的KQL查询

AppInventory_CL
| where AppName_s in ('Adobe Acrobat DC (64-bit)', 'Adobe Acrobat Reader - Italiano')
| summarize arg_max(TimeGenerated, *) by ManagedDeviceID_g, AppName_s  // 仅按设备和应用分组,确保同一设备同一App只取最新记录
| project ComputerName_s, AppName_s, AppVersion_s
| extend AppVersionParts = split(AppVersion_s, '.')
| extend MajorVersion = toint_or_null(AppVersionParts[0])  // 用toint_or_null避免版本号解析失败报错
| extend BuildVersion = toint_or_null(AppVersionParts[-1])
| extend Versione = iif(
    // 给两个应用的判断条件分别加括号,确保逻辑优先级正确
    (AppName_s == 'Adobe Acrobat Reader - Italiano' and MajorVersion >= 23 and BuildVersion > 0)
    or (AppName_s == 'Adobe Acrobat DC (64-bit)' and MajorVersion >= 22),
    'OK',
    'KO'
)
| where MajorVersion != null  // 过滤版本号解析失败的无效记录
| summarize DeviceCount = dcount(ManagedDeviceID_g) by Versione  // 用dcount统计唯一设备数,避免重复计数
| render piechart

关键修改点

  • 分组优化:原查询按ManagedDeviceID_g, AppName_s, AppPublisher_s分组,可能导致同一设备同一App因Publisher不同被多次统计,改为仅按设备和应用分组,确保每个设备的每个App只保留最新记录。
  • 逻辑优先级修正:原iif条件未加括号,导致逻辑判断优先级错误,给两个应用的判断条件分别添加括号,确保符合预期的版本规则。
  • 版本解析容错:使用toint_or_null替代toint,避免版本号格式异常时出现报错,同时过滤解析失败的无效记录。
  • 统计唯一设备数:用dcount(ManagedDeviceID_g)替代count(),确保统计的是唯一设备数量,避免同一设备的重复记录影响结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 14:52:14