如何用KQL按日期计算Service 1与Service 2的数值差值?
KQL实现按日期计算服务协议数差值
假设你已经提取出包含**日期(ReportDate)、服务名称(Service)、协议数量(AgreementCount)**的数据集,可通过以下KQL语句实现需求:
// 替换为你实际的数据集表名 your_extracted_table_name // 将服务名称转为列,聚合对应日期的协议数 | pivot AgreementCount on Service in ("Service 1", "Service 2") // 计算Service 1与Service 2的差值(Service1 - Service2) | extend Difference = Service_1 - Service_2 // 筛选并调整输出列的顺序与格式 | project ReportDate = format_datetime(ReportDate, "yyyy-MM-dd"), Service_1, Difference
关键步骤说明:
pivot:将不同服务的协议数从行转换为列,实现同日期下两个服务数据的横向对齐extend:新增差值字段,直接计算Service 1与Service 2的数值差format_datetime:将日期格式化为你需要的yyyy-MM-dd字符串形式project:指定最终输出的列及顺序,匹配你期望的结果格式
如果你的中间数据集里日期是Day 1这类标识而非实际日期,需要先将其映射回原始日志中的日期值,可在提取阶段保留原始日期字符串,或者通过case语句关联:
your_extracted_table_name | extend ReportDate = case( Day == "Day 1", "2022-09-26", Day == "Day 2", "2022-09-27", "" ) | pivot AgreementCount on Service in ("Service 1", "Service 2") | extend Difference = Service_1 - Service_2 | project ReportDate, Service_1, Difference
内容的提问来源于stack exchange,提问作者Kees Vrins
相关产品推荐
相关产品推荐

