使用Kusto查询追踪部署导致的表数据变更
Kusto每日数据变更追踪查询方案
针对你的需求——按Column A追踪Column B的每日变更,提取部署更新中发生变更的行,可使用以下Kusto查询实现:
// 替换为你的表名 YourTableName // 将修改时间转换为日期维度,用于按天对比 | extend ModifiedDate = startofday(`Modified at`) // 按Column A分组,确保每个唯一标识的记录单独追踪 | partition by ColumnA ( // 按修改日期升序排序,保证变更顺序正确 sort by ModifiedDate asc // 获取同一Column A下上一条记录的Column B值 | extend PreviousColumnB = prev(ColumnB) // 过滤出确实发生变更的行(排除首次出现的记录) | where isnotempty(PreviousColumnB) and ColumnB != PreviousColumnB // 标记变更发生的日期 | extend ChangeDate = ModifiedDate ) // 输出关键字段,展示变更详情 | project ColumnA, ColumnB, PreviousColumnB, ChangeDate, `Modified at`
查询说明
startofday函数将Modified at字段转换为当日起始时间,统一按天维度对比变更partition by ColumnA确保每个Column A的记录独立排序、追踪,避免跨标识的干扰prev(ColumnB)获取同一标识下上一次的Column B值,通过对比筛选出变更行- 最终结果会展示:变更的标识(Column A)、变更后的值(Column B)、变更前的值(PreviousColumnB)、变更日期(ChangeDate)以及具体修改时间(Modified at)
示例匹配
针对你提到的场景:
- Row 3在12月14日从Value 3变为Value 6,查询会输出该行,
PreviousColumnB为Value 3,ChangeDate为12月14日 - Row 4在12月15日从Value 4变为Value 5,查询会输出该行,
PreviousColumnB为Value 4,ChangeDate为12月15日
内容的提问来源于stack exchange,提问作者Gunjan Popli
相关产品推荐
相关产品推荐

