日流水、库存变动、考勤加班这类表,分析师要的不是把多天压成一行,而是每一天仍在,并带上「近 N 天合计」「从开头累到今天」或滚动窗口上的平均。窗口必须沿日期推进:1 号滚出后,4 号的近 3 天只能是 2~4 号,而不能误加成 1~4 号。
如果采用传统手工方式,只能靠 SUM 拖填充或手工改窗口引用。漏一天、插一行,整列累计全部错位;两家门店若被串到同一条时间轴上,东门店会吃到西门店的数。过程无法沉淀为可回溯、可自动复跑的工作流。
DT-Bot 的 「累计统计」 算子专为解决此类沿日期或行序的窗口贴列而设计。它把多行收成当前行一个值:近 N 天合计、从开头累加、滚动平均。行数不变。未点名结果表时就地改原表。同比、环比、比昨天请用「同比环比」;按月压成一行短表请用「聚合计算」。
一、 核心能力与适用场景
「累计统计」算子聚焦于沿时间轴给每一行贴窗口值,覆盖以下三大核心能力:
| 核心能力 | 解决什么业务问题 | 典型业务场景 |
|---|---|---|
| 近 N 天合计(滚动窗口) | 按日期往回看 N 天(含当天)相加;窗口向前滚时,超出天数的旧值要滚出。同一写法可把「3」换成「7」。 | 近 3 天、近 7 天销售额合计;移动平均、滚动平均同属沿日期的窗口计算。 |
| 从开头累加 | 从第一行加到当前行,窗口只变长、不丢掉前面的天。 | 按日期给销售额做从年初(或表头)到当前行的累计。 |
| 分组各自一条时间轴 | 每个主体单独滚窗口,不把两组的数加到一起。 | 东门店、西门店各算各的近 2 天,互不串味。 |
二、 边界指南:它与相近算子有何区别?
在构建数据工作流时,理解算子之间的职责边界至关重要:
| 比较维度 | 「累计统计」算子 | 「同比环比」算子 | 「聚合计算」算子 | 「组内加列」算子 |
|---|---|---|---|---|
| 主要定位 | 沿日期/行序的窗口贴列 | 日历对齐上一期或去年同期 | 压行汇总出短表 | 组统计贴回每一行 |
| 输出机制 | 默认就地加列,行数不变 | 默认就地加列,行数不变 | 源表只读,另写短表 | 默认就地加列,行数不变 |
| 典型动作 | 近 N 天合计、从头累计、滚动平均 | 同比、环比、上期值 | 按月压成一行 | 本组合计、组内占比(不是时间窗口) |
| 如何选择 | “这一行要带上近 7 天或从开头累到今天” | “这一行要和去年同月或上月比” | “只要每月一个数,日明细不要了” | “按部门贴一个合计,不沿日期滚窗口” |
三、 提示词编写规范与公式
「累计统计」算子支持自然语言直接表达,建议遵循以下标准的三要素编写公式:
【目标表】 + 【沿哪一列、算什么、度量列;分组则写分组列】 + 【结果表名(可选)】
1. 目标表范围表达
- 单表精准点名:例如
“日流水” :...; - 默认当前流转表:未显式提及表名时,继承上一节点连线流入的数据表。
2. 沿哪一列、算什么
- 近 N 天:
按 “日期” 给 “销售额” 做近 3 天合计;近 7 天写法相同,把「3」换成「7」即可; - 从头累计:
按 “日期” 给 “销售额” 做累计; - 滚动平均:与近 N 天同属窗口计算,提示词写清沿哪一列、算什么、度量列是哪一列;
- 分组时间轴:
按门店各自一条时间轴,给销售额做近 2 天合计。
3. 输出
- 不写结果表名则就地加列。原文案例中,近 3 日合计列为「销售额_近3日合计」,累计列为「销售额_累计」,近 2 日合计列为「销售额_近2日合计」。
“日流水” :按 “日期” 给 “销售额” 做近 7 天合计。
四、 核心功能与图解实战
以下结合真实企业数据场景,展示「累计统计」在不同需求下的处理效果:
场景 1:近 N 天合计(窗口向前滚、旧值滚出)
业务背景:运营要看「含当天在内的近 3 天销售额」,用于补货。4 号必须丢掉已经滚出窗口的 1 号,而不能把 1~4 号全部加总。
【处理前:日流水】
| 日期 | 销售额 |
|---|---|
| 2026-03-01 | 10 |
| 2026-03-02 | 20 |
| 2026-03-03 | 30 |
| 2026-03-04 | 40 |
【执行提示词】
“日流水” :按 “日期” 给 “销售额” 做近 3 天合计。
【处理后:日流水(就地加列)】
| 日期 | 销售额 | 销售额_近3日合计 | 变更说明 |
|---|---|---|---|
| 2026-03-01 | 10 | 10 | 窗口内只有自己 |
| 2026-03-02 | 20 | 30 | 1~2 号:10 + 20 |
| 2026-03-03 | 30 | 60 | 1~3 号:10 + 20 + 30 |
| 2026-03-04 | 40 | 90 | 2~4 号:20 + 30 + 40(1 号已滚出) |
逻辑详解:行数仍是 4。4 号的窗口是近 3 天(含当天),即 2、3、4 号,合计 90,不是 10+20+30+40=100。近 7 天写法相同,把「3」换成「7」即可。移动平均、滚动平均与近 N 天合计同属沿日期的窗口计算,提示词写清「沿哪一列、算什么」即可。
场景 2:从开头累加(窗口只变长)
业务背景:财务要按日期看「从第一天累到当前行」的销售额,用于核对阶段达成。窗口只变长,前面的天不能滚出。
【处理前:日流水】
| 日期 | 销售额 |
|---|---|
| 2026-03-01 | 10 |
| 2026-03-02 | 20 |
| 2026-03-03 | 30 |
【执行提示词】
“日流水” :按 “日期” 给 “销售额” 做累计。
【处理后:日流水(就地加列)】
| 日期 | 销售额 | 销售额_累计 | 变更说明 |
|---|---|---|---|
| 2026-03-01 | 10 | 10 | 起点即自身 |
| 2026-03-02 | 20 | 30 | 10 + 20 |
| 2026-03-03 | 30 | 60 | 10 + 20 + 30 |
逻辑详解:与近 N 天不同,3 号仍包含 1 号,累计列为「销售额_累计」。行数不变,源表就地加列。
场景 3:各自一条时间轴(分组后互不串味)
业务背景:两家门店共用一张日流水。若按全表一条轴滚近 2 天,东门店 3 号会吃到西门店的数。必须按门店各自一条时间轴。
【处理前:日流水】
| 门店 | 日期 | 销售额 |
|---|---|---|
| 东门店 | 2026-03-01 | 10 |
| 东门店 | 2026-03-02 | 20 |
| 东门店 | 2026-03-03 | 30 |
| 西门店 | 2026-03-01 | 5 |
| 西门店 | 2026-03-02 | 15 |
【执行提示词】
“日流水” :按门店各自一条时间轴,给销售额做近 2 天合计。
【处理后:日流水(就地加列)】
| 门店 | 日期 | 销售额 | 销售额_近2日合计 | 变更说明 |
|---|---|---|---|---|
| 东门店 | 2026-03-01 | 10 | 10 | 本店窗口内只有自己 |
| 东门店 | 2026-03-02 | 20 | 30 | 本店 1~2 号:10 + 20 |
| 东门店 | 2026-03-03 | 30 | 50 | 本店 2~3 号:20 + 30 |
| 西门店 | 2026-03-01 | 5 | 5 | 西门店自己的轴,不含东门店 |
| 西门店 | 2026-03-02 | 15 | 20 | 本店 5 + 15 |
逻辑详解:东门店 3 号的近 2 天是 20+30=50,不会加上西门店的 15。新列为「销售额_近2日合计」。行数仍是 5。
五、 常见问题与操作贴士(FAQ)
Q1:近 N 天是「往前数 N 行」还是「往前 N 个日历天」?
答:按日期列往回看 N 天(含当天)。场景 1 中 4 号的近 3 天是 2~4 号,1 号已滚出,不是把表里任意前三行相加。
Q2:滚动平均、移动平均要另找算子吗?
答:不必。原文将「移动平均、滚动平均」与近 N 天、从头累计并列为本算子能力。提示词写清沿哪一列、算什么、度量列即可;不要改写成「同比环比」或「聚合计算」。
Q3:两家门店为什么必须写「各自一条时间轴」?
答:不写分组时,全表会走同一条时间轴,门店之间的数会串在一起。多主体时必须写上分组列,例如「按门店」。
Q4:同比、比昨天、按月压成一行,能写在本算子里吗?
答:同比、环比、比昨天请用 「同比环比」。按月压成一行短表请用 「聚合计算」。把组合计贴回每一行、但不沿日期滚窗口,请用 「组内加列」。
六、 关联算子导航
- 若需按日历对齐计算同比、环比、上期值或比昨天:请参考 数据统计 · 同比环比
- 若需按月或按店压成一行短表:请参考 数据统计 · 聚合计算
- 若需把组合计贴回每一行、而不是沿日期滚窗口:请参考 数据统计 · 组内加列
- 欲下载真实数据表格亲自动手实测:请查阅 数据案例 · 累计统计案例