如何在Kusto查询结果中添加缺失的行?(Application Insights报表需求)
在Application Insights中生成包含固定行的统计报表
要实现始终包含X、Y、Z三行的统计报表,即使某类日志缺失时count设为0,可以通过Kusto查询的固定集合定义 + 左连接来实现,具体方案如下:
核心实现思路
- 预先定义包含X、Y、Z的目标值列表
- 从应用日志中统计现有
name_column的出现次数 - 将目标列表与统计结果做左连接,对缺失项填充count为0
示例Kusto查询
// 1. 定义固定的目标值集合 let targetNames = datatable(name_column:string) ["X", "Y", "Z"]; // 2. 从日志中统计各name的出现次数(替换实际日志表名和时间范围) let logStats = your_actual_log_table | where timestamp > ago(24h) | summarize count = count() by name_column; // 3. 左连接并填充缺失值为0 targetNames | left join kind=leftouter logStats on name_column | project name_column, count = coalesce(count, 0)
代码说明
targetNames:硬编码需要保留的三个固定值,确保结果集始终包含这三行logStats:替换your_actual_log_table为实际的应用日志表名,根据需求调整时间过滤条件coalesce(count, 0):当左连接后某name没有匹配到统计结果时,自动将count替换为0
无论日志中是否存在X、Y、Z的记录,最终报表都会包含这三行,缺失项的count自动设为0。
内容的提问来源于stack exchange,提问作者matoo
相关产品推荐
相关产品推荐

