# 运营监控SQL调整计划 ## 需求概述 根据用户提供的新指标定义,调整现有运营监控SQL的计算逻辑,删除未提及的指标,实现正确的指标统计。 ## 实施步骤 ### 步骤1:明确需要保留的指标清单 用户明确要求保留的指标: 1. 日期 2. 当天新增换单数:到仓时间是当天的交接单中有标签的总订单数 3. 累计要换的总单数:历史上所有有标签但是没有扫描完成记录的订单(不含当天新增) 4. 当天应该换单数:标签率≥80%且到仓时间是当天的订单总数 5. 当日换单完成数:扫描完成时间是当日的订单总数 6. 当日STOP数:扫描结果成功且描述包含"成功返回STOP标签"的订单数 7. 当日标签推送数:标签推送时间是当天的订单数 8. 当天换单完成率:当日换单完成数 / 当天应该换单数 9. 24小时换单率:标签率≥80%的订单中在考核时间内扫描成功的订单 / 标签率≥80%的订单 10. 数据拉取时间(UTC_5):查询数据的时间 ### 步骤2:核心逻辑设计 #### 2.1 交接单标签率计算逻辑 - 对每个交接单,先查找首次扫描记录时间(所有关联订单的最早扫描时间) - 标签率计算: - 如果有首次扫描时间:扫描时间 > 标签推送时间的有标签订单数 / 交接单关联的总订单数(有标签+无标签) - 如果没有首次扫描时间:当前有标签订单数 / 交接单关联的总订单数 #### 2.2 考核时间计算逻辑 仅针对标签率≥80%且有标签的订单: - 收货时间(UTC-5)是当天16:00之前:考核时间为次日16:00(UTC-5) - 收货时间(UTC-5)是当天16:00之后:考核时间为次日23:59:59(UTC-5) - 标签率<80%的订单不参与24小时换单率考核 #### 2.3 时间处理规则 - 到货时间ReceiptTime本身是UTC-5,不需要转换 - 其他时间(LabelRetrievedAt、扫描时间CreatedAt)是UTC-0,需要转换为UTC-5 ### 步骤3:SQL结构重构 1. 保留必要的CTE,删除不需要的逻辑 2. 新增交接单标签率计算CTE 3. 新增考核时间计算CTE 4. 按日期维度汇总所有指标 5. 验证指标计算正确性 ### 步骤4:验证和优化 1. 检查所有指标计算是否符合用户定义 2. 删除所有用户未提及的指标字段 3. 优化SQL性能,避免不必要的关联和计算