经营分析底稿里,明细常常已经有单价、数量,却缺一列金额才能出账;渠道、批次要整列打同一个标,或先留一列空位给后续填;订单只有数量、单价在商品主数据时,还要按键取单价后再算金额。

如果靠 Excel 在表尾插公式列,一排序引用就断;跨表再套查找,一对多或漏行时很难复查,也无法沉淀成可复跑的节点。

DT-Bot 的 「新增列」 算子专为解决此类在已有行上新建一列或多列而设计。它支持空列、常量列、本表计算、序号列以及跨表按键后计算。目标表行数不变;同名列覆盖原列内容。默认就地改目标表,新列不加行、不改未点名列。

一、 核心能力与适用场景

「新增列」算子聚焦于行集合不变、在表上派生列,覆盖以下五项核心能力:

核心能力 解决什么业务问题 典型业务场景
空列 先占一列位置,格子留空,交给后续节点或人工填。 财务打标前先加空列,给后续匹配或手工备注用。
常量列 整列写入同一个值,给明细打渠道、批次等标签。 本批销售明细全部标成「天猫」。
本表计算 用本表已有列做运算,得到新列。 明细已有单价、数量,加一列金额=单价×数量才能出账。
序号列 按当前表的物理行序从 1 编号。 对账底稿按现在看到的顺序加上序号,方便和对方清单逐行核对。
跨表按键后计算 按键从另一张表取数,再与本表字段计算后写入新列。 订单只有数量,单价在商品主数据,新建金额=数量×主数据单价。

二、 边界指南:它与相近算子有何区别?

在构建数据工作流时,理解算子之间的职责边界至关重要:

比较维度 「新增列」算子 「匹配填充」算子 「组内加列」算子 「行操作」算子
主要定位 新建空列 / 常量列 / 计算列 / 序号列 按键把查找表已有字段填过来 按分组窗口贴统计列 改已有单元格里的字符
输出机制 就地加列,行数不变;同名则覆盖 不写输出名则在原表加列,行数不变 就地或按该算子约定出列 就地改单元格,不增列
典型动作 加一列 “金额” ,等于 “单价” 乘 “数量” 从价目表把单价、品名填到订单表 组内累计、组内排名等窗口列 去空格、替换、把 0 改成空
如何选择 “要多一列算出来的金额或整列天猫” “单价已经在价目表里,对上编码贴过来即可” “要按客户看组内合计、组内序号” “客户名称里的空格和后缀要洗掉,不要新列”

三、 提示词编写规范与公式

「新增列」算子支持自然语言直接表达,建议遵循以下标准的三要素编写公式:

【给哪张表】 + 【加一列(列名 / 位置)】 + 【等于……(可省略;跨表则写按键从哪张表)】

给 “哪张表” 加一列 “列名” ,等于……。同名已存在则覆盖原列内容。

1. 目标表范围表达

  • 单表点名:给 “销售明细表” 加一列 …、给 “对账表” 加一列 …;
  • 跨表时同时点名查找表:按 “商品编码” 从 “商品主数据表”。

2. 核心操作动作表达

  • 空列:加一列 “备注”(不写「等于」);
  • 常量列:加一列 “渠道” ,全部填 “天猫”;
  • 本表计算:在 “数量” 后面加一列 “金额” ,等于 “单价” 乘 “数量”;
  • 序号列:加一列 “序号” ,按当前表顺序从 1 编号;
  • 跨表计算:按 “商品编码” 从 “商品主数据表” 加一列 “金额” ,等于 “数量” 乘 “单价”。

3. 可复制示例

给 “销售明细表” 加一列 “金额” ,等于 “单价” 乘 “数量” 。

对应三段:表是销售明细表;新列名是金额;等于本表单价乘数量。

四、 核心功能与图解实战

以下结合真实企业数据场景,展示「新增列」在不同需求下的处理效果:

场景 1:空列(先占位,格子留空)

业务背景:财务要给销售明细预留一列,供后续节点或人工补备注,这一步先把列建出来,不要填值。

【处理前:销售明细表】

商品编码 单价 数量
S001 10 2
S002 20 1

【执行提示词】

给 “销售明细表” 加一列 “备注” 。

【处理后:销售明细表(就地加列)】

商品编码 单价 数量 备注 变更说明
S001 10 2 (空) 新列已建立,单元格为空
S002 20 1 (空) 行数仍为 2

逻辑详解:未写「等于」或「全部填」时,新列为空列。行数不变;原有单价、数量未改。


场景 2:常量列(整列打同一个标)

业务背景:本批从天猫后台导出的销售明细还没有渠道字段,核算时要整列标成「天猫」,才能和其它渠道底稿区分。

【处理前:销售明细表】

商品编码 单价 数量
S001 10 2
S002 20 1

【执行提示词】

给 “销售明细表” 加一列 “渠道” ,全部填 “天猫” 。

【处理后:销售明细表(就地加列)】

商品编码 单价 数量 渠道 变更说明
S001 10 2 天猫 整列同一常量
S002 20 1 天猫 行数不变

逻辑详解:常量列不读本表其它字段,每一行写入提示词给出的同一个值。


场景 3:本表计算(单价乘数量得金额)

业务背景:明细已有单价、数量,财务核算销售金额时必须加一列金额才能出账;希望新列紧挨在「数量」后面,便于对照。

【处理前:销售明细表】

商品编码 单价 数量
S001 10 2
S002 20 1

【执行提示词】

给 “销售明细表” 在 “数量” 后面加一列 “金额” ,等于 “单价” 乘 “数量” 。

【处理后:销售明细表(就地加列)】

商品编码 单价 数量 金额 变更说明
S001 10 2 20 10 × 2
S002 20 1 20 20 × 1

逻辑详解:计算只使用本表字段;行数仍为 2。若表中已有「金额」列,再次执行会覆盖该列内容,而不是再追加一列同名列。


场景 4:序号列(按当前表顺序从 1 编号)

业务背景:对账表要按现在看到的行序加上序号,方便和对方物流清单逐行勾对;编号必须跟当前物理顺序走,不能按订单号重排后再编。

【处理前:对账表】

订单号 物流单号
O1 OLD-1
O2 OLD-2

【执行提示词】

给 “对账表” 加一列 “序号” ,按当前表顺序从 1 编号。

【处理后:对账表(就地加列)】

订单号 物流单号 序号 变更说明
O1 OLD-1 1 表中第一行编为 1
O2 OLD-2 2 表中第二行编为 2

逻辑详解:序号依据当前表行序,不产生额外排序,也不改变原有两列。若需要按金额排出名次列,请用「明细排名」,而不是本算子的序号列。


场景 5:跨表按键后计算(数量 × 主数据单价)

业务背景:订单表只有数量,单价在商品主数据;财务要按商品编码对上后,新建金额=数量×主数据单价,订单行一条都不能少。

【处理前:订单表】

订单号 商品编码 数量
O1 S001 1
O2 S002 2

【处理前:商品主数据表】(查找表,只读)

商品编码 单价
S001 10
S002 20

【执行提示词】

给 “订单表” 按 “商品编码” 从 “商品主数据表” 加一列 “金额” ,等于 “数量” 乘 “单价” 。

【处理后:订单表(就地加列)】

订单号 商品编码 数量 金额 变更说明
O1 S001 1 10 1 × 主数据单价 10
O2 S002 2 40 2 × 主数据单价 20

逻辑详解:订单表行数仍为 2;商品主数据表不被改写。这里新建的是计算后的金额列。若只需把单价原样贴到订单表、不做乘法,请用「匹配填充」。

五、 常见问题与操作贴士(FAQ)

Q1:执行后为什么没有多一张新表?新列加在哪里?

答:「新增列」默认就地改目标表,在原表上追加(或覆盖)列,工作空间不会自动复制整表。不写位置时,新列加在表尾;本表计算示例里写了 在 “数量” 后面,则插在该列之后。

Q2:会不会把没点名的表或查找表改掉?同名列会怎样?

答:只改提示词点名的那张目标表。跨表时,商品主数据等查找表只读。同名已存在则覆盖原列内容,不会并排再出一列「金额_1」。若原列还要留着对照,请先换一个新列名,或先用「复制表」留底再覆盖。

Q3:连续加多列时要注意什么?

答:每一轮都在上一轮已经加过列的表上继续。第二次若再 加一列 “金额”,会覆盖第一次的金额,而不是保留两版。换计算公式前请改用新列名,或重新导入原始表后再跑。行数始终不变;不要用本算子去删行或排序。

六、 关联算子导航