清洗、筛选、试验公式之前,分析师通常要先留一份底稿:原表名不动,再拿副本去试删行、试改列。一批导入表有时也要各留一份副本,再分别改名或筛选。源表必须还在,不能「复制完只剩新表」。
如果采用传统手工方式,只能在工作空间导出再导入,或在磁盘上复制文件后重新导入。默认名冲突时容易覆盖;指定名已被占用时,手工也难以给出明确报错。过程无法沉淀为可回溯、可自动复跑的工作流。
DT-Bot 的 「复制表」 算子专为解决此类工作空间内拷新表而设计。它把数据表拷成一张新表,源表还在,新表带一份导入元数据。不指定新名时系统会加「_副本」;该默认名已被占用时自动变成 _副本2、_副本3。你指定的新名如果已被占用,会直接报错。
一、 核心能力与适用场景
「复制表」算子聚焦于在工作空间再放一份表,覆盖以下三大核心能力:
| 核心能力 | 解决什么业务问题 | 典型业务场景 |
|---|---|---|
| 复制一张,默认加 _副本 | 点名拷贝,新表名按约定加后缀。 | 复制订单表,得到「订单表_副本」,「门店库存」不动。 |
| 点名复制成指定名 | 新表直接叫业务可识别的名字。 | 把订单表复制为「订单备份」。 |
| 全部表各复制一份 | 一批表各自留副本,再分别改名或筛选。 | 把全部表各复制一份,每张都多一个「_副本」。 |
说「全部表」才处理工作空间里所有表。只点一张表,就只复制那一张。不写表、也没说全部,就用上一个节点送来的表。新表名只能用中文、字母、数字、下划线和短横线,最长 64 个字符。
二、 边界指南:它与相近算子有何区别?
在构建数据工作流时,理解算子之间的职责边界至关重要:
| 比较维度 | 「复制表」算子 | 「改表名」算子 | 「删除表」算子 | 「表导出」算子 |
|---|---|---|---|---|
| 主要定位 | 拷新表,源表还在 | 只换表名,不增加表 | 拿掉整张表 | 写到磁盘,工作空间不增表 |
| 输出机制 | 清单多一张表 | 清单张数不变 | 清单少表 | 磁盘多文件,工作空间只读 |
| 典型动作 | 默认 _副本;指定「订单备份」;全部各一份 | 去 _Sheet1、换片段 | 点名删、按片段删 | 导出 csv/xlsx |
| 如何选择 | “底稿要留着,再拿另一张做试验” | “还是这一张,只是改名” | “这张不要了” | “要出盘给别人,不是工作空间再放一份” |
三、 提示词编写规范与公式
「复制表」算子支持自然语言直接表达,建议遵循以下标准的三要素编写公式:
【复制哪些表:点名 / 全部 / 上游表】 + 【要不要起新名】
1. 复制哪些表
- 全部表:必须说出「全部表」,才会复制工作空间里所有表;
- 点名一张:只复制写明的那一张;
- 默认上游:不写表、也没说全部,就用上一个节点送来的表。
2. 要不要起新名
- 不指定新名:系统加「_副本」;这个默认名已被占用时自动变成 _副本2、_副本3;
- 指定新名:如
把订单表复制为订单备份;该名已被占用会直接报错,不会自动改成 _副本。
3. 新表名约束
- 只能用中文、字母、数字、下划线和短横线,最长 64 个字符。源表的列和格子被原样拷到新表,源表本身不改。
复制订单表。
四、 核心功能与图解实战
以下结合真实企业数据场景,展示「复制表」在不同需求下的处理效果:
场景 1:复制一张表,默认加 _副本
业务背景:财务要先留一份订单底稿,再拿副本做试验清洗。「门店库存」与本次试验无关,不能被一并复制。
【处理前:工作空间表名】
| 表名 | 说明 |
|---|---|
| 订单表 | 本条要复制 |
| 门店库存 | 未点名,应保持只读 |
【执行提示词】
复制订单表。
【处理后:工作空间表名】
| 表名 | 变更说明 |
|---|---|
| 订单表 | 源表还在,列和格子未改 |
| 订单表_副本 | 新表,默认加「_副本」 |
| 门店库存 | 未点名,清单中原样 |
逻辑详解:清单从 2 张变成 3 张。未指定新名,新表叫「订单表_副本」。若该默认名已被占用,会自动变成 _副本2、_副本3。
场景 2:点名复制成指定名
业务背景:对账前要把订单表复制成「订单备份」,名字必须一眼能认,不能停在「订单表_副本」。
【处理前:工作空间表名】
| 表名 | 说明 |
|---|---|
| 订单表 | 源表,复制后仍在 |
| 门店库存 | 未点名 |
【执行提示词】
把订单表复制为订单备份。
【处理后:工作空间表名】
| 表名 | 变更说明 |
|---|---|
| 订单表 | 源表还在 |
| 订单备份 | 按指定名落成,不是「订单表_副本」 |
| 门店库存 | 未点名,原样 |
逻辑详解:指定名「订单备份」若已被占用,会直接报错,而不会改成 _副本。源表名称也不变——那是「改表名」的职责。
场景 3:全部表各复制一份
业务背景:一批导入表都要各留一份副本,再分别改名或筛选。必须写明「全部表」,否则只会处理上游送来的那一张。
【处理前:工作空间表名】
| 表名 | 说明 |
|---|---|
| 订单表 | 将各有一份副本 |
| 门店库存 | 将各有一份副本 |
【执行提示词】
把全部表各复制一份。
【处理后:工作空间表名】
| 表名 | 变更说明 |
|---|---|
| 订单表 | 源表还在 |
| 订单表_副本 | 默认后缀 |
| 门店库存 | 源表还在 |
| 门店库存_副本 | 默认后缀 |
逻辑详解:每张源表各多一份「_副本」。源表的列和格子未改;新表带一份导入元数据。
五、 常见问题与操作贴士(FAQ)
Q1:复制后为什么源表还在?能不能只留新表?
答:这是「复制表」的核心设计——源表还在,再多一张新表。若只要换名、不增加表,请用 「改表名」。若源表不要了,请另用 「删除表」,不要指望复制节点顺便删源。
Q2:不写新名时叫什么?重名怎么办?
答:不指定新名,系统加「_副本」。这个默认名已被占用时自动变成 _副本2、_副本3。你指定的新名如果已被占用,会直接报错,不会自动换后缀。
Q3:不写「全部表」会复制工作空间里所有表吗?
答:不会。 说「全部表」才处理所有表。只点一张就只复制那一张。不写表、也没说全部,就用上一个节点送来的表。
Q4:新表名有什么限制?复制会不会改列?
答:新表名只能用中文、字母、数字、下划线和短横线,最长 64 个字符。拷贝的是整表,源表列和格子不改;要改列名请用 「表头整理」。
六、 关联算子导航
- 若只需换表名、不增加表:请参考 元数据 · 改表名
- 若需从工作空间拿掉整张表:请参考 元数据 · 删除表
- 若需把表写到磁盘而不是在工作空间再放一份:请参考 元数据 · 表导出
- 欲下载真实数据表格亲自动手实测:请查阅 数据案例 · 复制表案例