在金额汇总、按月筛选与状态约束链路中,分析师从业务系统导出的金额、数量、折扣、下单日常常仍是文本。文本列无法可靠求和,日期列无法按月拆,状态列也无法只允许「有效 / 作废」。
如果采用传统手工方式,不仅要按列设单元格格式、再手工清无法解析的格子,而且失败格容易被写成错误数字,也无法形成可回溯、可自动复跑的工作流。
DT-Bot 的 「列类型转换」 算子专为解决此类整列类型标准化而设计。它把指定列转成整数、小数、百分比、日期、日期时间、文本或枚举,并更新列类型。默认就地改源表,行数不变;写了结果名则写新表。不改列名、不增删列。转换失败可记空,也可填指定值。
一、 核心能力与适用场景
「列类型转换」算子聚焦于按列更新类型与取值形态,覆盖以下四大核心能力:
| 核心能力 | 解决什么业务问题 | 典型业务场景 |
|---|---|---|
| 转整数 / 小数 | 金额、数量从文本转成数值,后面才能求和。 | 金额转成小数并保留 1 位,数量转成整数。 |
| 转百分比 / 日期 / 日期时间 | 折扣进百分比;下单日进日期,才能按月拆或筛选;带时分秒进日期时间。 | 折扣转成百分比,下单日转成日期,下单时间转成日期时间。 |
| 统一日期写法 | 整列日期 / 时间统一成某种写法;样例表示目标格式,不是把整列改成那一天。 | 把下单日统一成 2026/01/05 或 yyyy/MM/dd。 |
| 转文本 / 枚举 / 写出新表 | 订单号转成文本;状态列只允许给定值;写了结果名则源表不改。 | 状态只允许「有效」「作废」,输出「订单格式_类型」。 |
二、 边界指南:它与相近算子有何区别?
在构建数据工作流时,理解算子之间的职责边界至关重要:
| 比较维度 | 「列类型转换」算子 | 「表头整理」算子 | 「行操作」算子 | 「相似值归并」算子 |
|---|---|---|---|---|
| 主要定位 | 整列类型 / 格式转换 | 只改列名、删列、调序 | 去空格、替换指定词、去掉千分位 | 一列相近写法收成标准名 |
| 输出机制 | 默认就地改源表,行数不变;写了结果名则写新表 | 就地或另存新表 | 就地更新原表(单元格级修改) | 默认就地改指定列,行数不变 |
| 典型动作 | 转整数 / 小数 / 百分比 / 日期 / 日期时间 / 文本 / 枚举 | 修改列名、剔除冗余列、调整列顺序 | 去空格、替换业务词、去掉货币符号 | 按相似自动归并一列 |
| 如何选择 | “把金额转成小数,下单日转成日期” | “只把英文字段名改回业务中文” | “先去掉千分位和空格,类型先不动” | “华为 / 华为 / 華为收成一种写法” |
不改列名、不增删列。行数不变。
三、 提示词编写规范与公式
「列类型转换」算子支持自然语言直接表达,建议遵循以下标准的三要素编写公式:
【目标表范围】 + 【列与目标类型】 + 【格式 / 失败规则与输出】
1. 目标表范围表达
- 单表精准点名:明确指定单张表名称,例如
把 “订单格式” 的金额转成小数,数量转成整数; - 默认当前流转表:若提示词中未显式提及表名,算子将默认继承上一节点连线流入的数据表。
2. 列与目标类型表达
- 数值:
转成小数、转成小数保留 1 位、转成整数; - 百分比:
转成百分比——纯小数且绝对值 ≤ 1 会先 ×100; - 日期 / 日期时间:
转成日期、转成日期时间;自定义时间要写格式; - 统一写法:用户写「把日期统一成 2026/01/05」时,按
yyyy/MM/dd执行,不要理解成把整列改成那一天; - 文本 / 枚举:
转成文本;枚举要给允许值,例如只允许「有效」和「作废」。「所有列都转成文本」则对全部业务列各转一次。
3. 失败规则与结果名
- 数值 / 日期转换失败默认记空;
- 用户说了失败填某值则用该值;
- 不写结果名则改源表;写了则写新表,例如
输出 “订单格式_类型”。
示例对应三段:
- 表:订单格式
- 金额→小数,数量→整数
- 结果:就地改源表
四、 核心功能与图解实战
以下结合真实企业数据场景,展示「列类型转换」在不同需求下的处理效果:
场景 1:金额转小数、数量转整数
业务背景:订单格式里的金额、数量仍按文本落表,后续无法求和。金额需要转成小数并保留 1 位;数量需要转成整数。转不成的格子记空(或按提示词填写失败值),其它列保持原文。
【处理前:订单格式】
| 订单号 | 金额 | 数量 |
|---|---|---|
| O1 | 100.5 | 2 |
| O2 | 80 | 1.0 |
【执行提示词】
把 “订单格式” 的金额转成小数保留 1 位,数量转成整数。
【处理后:订单格式(就地更新)】
| 订单号 | 金额 | 数量 | 变更说明 |
|---|---|---|---|
| O1 | 100.5 | 2 | 金额为小数保留 1 位;数量已是整数 |
| O2 | 80.0 | 1 | 金额补齐 1 位小数;数量 1.0 → 1 |
逻辑详解:订单号未点名,保持原文。行数不变,不改列名、不增删列。转不成整数或小数的格子默认记空;若提示词说了失败填某值,则失败格用该值,而不是编造数字。也可只写「金额转成小数,数量转成整数」,不指定保留位。
场景 2:百分比、日期、日期时间
业务背景:折扣列混有「15%」与纯小数 0.2,下单日与下单时间仍是文本。后续要按折扣档位和日期筛选,必须先转成百分比、日期、日期时间。
【处理前:订单格式】
| 订单号 | 折扣 | 下单日 | 下单时间 |
|---|---|---|---|
| O1 | 15% | 2024-01-15 | 2024-01-15 10:00:00 |
| O2 | 0.2 | 2024/04/02 | 2024-04-02 09:30:00 |
| O3 | 50% | 不是日期 | 2024-07-01 08:00:00 |
| O4 | 2024-07-01 |
【执行提示词】
把订单格式的折扣转成百分比,下单日转成日期,下单时间转成日期时间。
【处理后:订单格式(就地更新)】
| 订单号 | 折扣 | 下单日 | 下单时间 | 变更说明 |
|---|---|---|---|---|
| O1 | 15% | 2024-01-15 | 2024-01-15 10:00:00 | 已是百分数形态,不再 ×100;日期与日期时间入类型 |
| O2 | 20% | 2024-04-02 | 2024-04-02 09:30:00 | 0.2 绝对值 ≤ 1,先 ×100 → 20% |
| O3 | 50% | 2024-07-01 08:00:00 | 「不是日期」失败记空;折扣保持百分数 | |
| O4 | 2024-07-01 | 空折扣、空下单时间保持空 |
逻辑详解:纯小数且绝对值 ≤ 1 会先 ×100,已是百分数的格子不要再乘一次。无法解析的日期默认记空。空单元格保持空。也可以按自定义写法转。
场景 3:整列日期统一成指定写法
业务背景:销售明细表的下单日写法不统一,后续出表要求统一成 yyyy/MM/dd。用户用「2026/01/05」作为样例,表示目标格式,不是把整列改成那一天。
【处理前:销售明细表】
| 订单号 | 下单日 | 金额 |
|---|---|---|
| S01 | 2026-01-05 | 120 |
| S02 | 2026/1/5 | 80 |
| S03 | 2026.01.06 | 50 |
【执行提示词】
把 “销售明细表” 的 “下单日” 统一成 2026/01/05。
【处理后:销售明细表(就地更新)】
| 订单号 | 下单日 | 金额 | 变更说明 |
|---|---|---|---|
| S01 | 2026/01/05 | 120 | 按 yyyy/MM/dd 落地,日期仍是 2026-01-05 |
| S02 | 2026/01/05 | 80 | 写法统一,不是改成另一天 |
| S03 | 2026/01/06 | 50 | 样例只定格式,6 日仍是 6 日 |
逻辑详解:样例
2026/01/05表示目标格式yyyy/MM/dd,不要理解成把整列改成那一天。金额列未点名,保持原文。行数不变。
场景 4:转文本、枚举并写出新表
业务背景:订单号要保持字面、按文本交给下游;状态列只允许「有效」和「作废」。源表需保留导入原样,结果输出为「订单格式_类型」。
【处理前:订单格式】
| 订单号 | 状态 | 备注 |
|---|---|---|
| O1 | 有效 | 正常 |
| O2 | 作废 | 冲销 |
| O3 | 待定 | 待核 |
【执行提示词】
把订单格式的订单号转成文本,状态列只允许 “有效” 和 “作废”,输出 “订单格式_类型”。
【处理后:订单格式(源表不改)】
| 订单号 | 状态 | 备注 | 变更说明 |
|---|---|---|---|
| O1 | 有效 | 正常 | 写了结果名,源表保持导入原样 |
| O2 | 作废 | 冲销 | 写了结果名,源表保持导入原样 |
| O3 | 待定 | 待核 | 写了结果名,源表「待定」仍在 |
【处理后:订单格式_类型(新表)】
| 订单号 | 状态 | 备注 | 变更说明 |
|---|---|---|---|
| O1 | 有效 | 正常 | 订单号为文本,字面仍是 O1;状态在允许值内 |
| O2 | 作废 | 冲销 | 订单号为文本;状态在允许值内 |
| O3 | 待核 | 「待定」不在允许值内,默认记空 |
逻辑详解:枚举必须给出允许值范围。本条未说失败填某值,故「待定」按失败规则记空;若提示词要求失败填指定值,则写入该值。转文本不改字面、不增删行。「所有列都转成文本」则对全部业务列各转一次。备注未点名,原样带出。
五、 常见问题与操作贴士(FAQ)
Q1:为什么执行「列类型转换」后,左侧工作空间没有生成新表?
答:未显式要求输出新表时,算子默认就地改源表,行数不变,不会新增表名。双击当前节点或打开「AI 表编辑器」即可看到类型与取值已更新。
若需要保留源表对照,请写出结果名,例如输出 “订单格式_类型”。
Q2:转换失败的格子会写成什么?会不会编造数字?
答:数值 / 日期转换失败默认记空,不会编造数字。用户说了失败填某值,则失败格用该值。枚举不在允许值范围内时,同样按失败规则记空或填指定值。空单元格保持空。
Q3:「把日期统一成 2026/01/05」会不会把整列改成那一天?
答:不会。样例表示目标格式,按
yyyy/MM/dd执行,不是把整列改成那一天。自定义时间要在提示词里写清格式或给出样例。
Q4:只改列名、去空格或收相近写法,该用哪个算子?
答:只改列名请用 「表头整理」。去空格、替换指定词、去掉千分位请用 「行操作」。一列相近写法收成标准名请用 「相似值归并」。「列类型转换」不改列名、不增删列,只更新指定列的类型与取值形态。
六、 关联算子导航
- 若只需修改表头列名、删除整列、重排展示列顺序:请参考 数据处理 · 表头整理
- 若需对单元格内部的字符串进行去空格、替换指定词、去掉千分位:请参考 数据处理 · 行操作
- 若需把一列相近写法收成标准名:请参考 数据处理 · 相似值归并
- 欲下载真实数据表格亲自动手实测:请查阅 数据案例 · 列类型转换案例