日流水、库存变动、考勤加班这类表,分析师要的不是把多天压成一行,而是每一天仍在,并带上「近 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:同比、比昨天、按月压成一行,能写在本算子里吗?

答:同比、环比、比昨天请用 「同比环比」。按月压成一行短表请用 「聚合计算」。把组合计贴回每一行、但不沿日期滚窗口,请用 「组内加列」。

六、 关联算子导航