累计指标的定义
累计指标是期间起点到统计日的累计值:MTD 从月初累计,QTD 从季初累计,YTD 从年初累计。起点由自然周期决定,跨周期必须重置。实现上有两种写法:用期间起点过滤后求和,或对日粒度数据做窗口累计求和,月初与年初的边界要专项测试。
基本信息
| MTD | 月初到统计日的累计值 |
|---|---|
| QTD | 季初到统计日的累计值 |
| YTD | 年初到统计日的累计值 |
| 实现方式 | 期间起点过滤求和,或窗口函数逐日累加 |
| 边界注意 | 跨月、跨季、跨年必须重置,闰年单独验证 |
典型使用场景
- 经营看板:本月累计收入、本季累计销量与目标做达成率对比
- 财务月报:MTD 与 YTD 并列展示,支撑同比分析
- 任务进度:YTD 完成量与全年目标对比,判断进度是否落后
- 时序曲线:按日画累计曲线,用斜率变化判断趋势拐点
- 交叉校验:年末 YTD 值应等于全年各日之和,可用来反向验证
MTD 与 YTD 的实现
MTD 与 YTD 的实现
-- 窗口累计:按自然月与自然年分组逐日累加
SELECT
dt,
sum(pay_amt) OVER (PARTITION BY substr(dt, 1, 7) ORDER BY dt) AS mtd,
sum(pay_amt) OVER (PARTITION BY substr(dt, 1, 4) ORDER BY dt) AS ytd
FROM dws_pay_day
WHERE dt <= '2026-10-11';
-- 起点过滤写法:直接指定期间起点
SELECT sum(pay_amt) AS mtd
FROM dws_pay_day
WHERE dt BETWEEN '2026-10-01' AND '2026-10-11';三种累计口径
| 口径 | 起点 | 重置时点 |
|---|---|---|
| MTD | 当月 1 日 | 跨自然月重置 |
| QTD | 当季首月 1 日 | 跨自然季重置 |
| YTD | 当年 1 月 1 日 | 跨自然年重置 |
累计指标与近 N 日不是同一件事:YTD 与近 365 天在年初差距最大,对账前先确认窗口类型,再比较数值。
窗口累计依赖分区顺序:补数后要重跑整个区间,只重算单日会让累计列与明细不一致,曲线上出现无法解释的台阶。
累计值对比要固定基准:拿月中 MTD 与上月整月对比会得出严重下滑的错觉,与上月同日对比才反映真实变化,报表上要写明用的是哪一种。