经营分析底稿里,明细常常已经有单价、数量,却缺一列金额才能出账;渠道、批次要整列打同一个标,或先留一列空位给后续填;订单只有数量、单价在商品主数据时,还要按键取单价后再算金额。
如果靠 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:连续加多列时要注意什么?
答:每一轮都在上一轮已经加过列的表上继续。第二次若再
加一列 “金额”,会覆盖第一次的金额,而不是保留两版。换计算公式前请改用新列名,或重新导入原始表后再跑。行数始终不变;不要用本算子去删行或排序。
六、 关联算子导航
- 若只需按键把查找表字段贴过来、不做本表乘法:请参考 数据处理 · 匹配填充
- 若需按分组做窗口统计列(组内合计、组内序号等):请参考 数据统计 · 组内加列
- 若需清洗已有单元格而不是加新列:请参考 数据处理 · 行操作
- 若需基于现有明细生成名次列:请参考 数据统计 · 明细排名
- 欲下载真实数据表格亲自动手实测:请查阅 数据案例 · 新增列案例