在 DataFlowX 系统中,字段值除了来源于 Excel 原始数据或基础表,也可以通过 SQL 表达式公式 进行计算与推导,适用于金额计算、字段拼接、清洗处理等场景。
在字段配置界面中,将来源选项切换为“计算公式”。
点击蓝色按钮打开公式编辑器,可以手动编写或点击左侧面板插入表达式。
配置完成后,字段会显示所绑定的 SQL 表达式。
字段公式计算支持使用 SQL 表达式作为主要计算方式,具有性能高、批量处理快、原生数据库支持等优点。
formula_error 终止导入| 项目 | 是否支持 | 原因 |
|---|---|---|
| 多表联查 | ❌ | 临时表作用域限制 |
| 子查询 | ❌ | 存在 SQL 注入与性能风险 |
| 存储过程 | ❌ | 非函数型表达式 |
| 错误类型 | 说明 | 示例场景 |
|---|---|---|
| formula_error | 表达式执行失败(语法或逻辑错误) | 除以 0、语法拼写错误 |
| required_field_error | 依赖字段值为空 | 用于计算的 _B 字段为空 |
| range_error | 结果超出系统容许范围 | 金额字段超出整型限制 |
| critical | 系统级执行失败 | 数据库不可用 |
| 分类 | 函数 / 表达式 | 说明 |
|---|---|---|
| 条件判断 | CASE WHEN ... THEN ... ELSE ... END | 多条件判断分支 |
| IF(condition, a, b) | 单条件判断(满足返回 a,否则返回 b) | |
| 数值计算 | ROUND(x, n) | 保留 n 位小数 |
| ABS(x) | 取绝对值 | |
| CEIL(x) / FLOOR(x) | 向上 / 向下取整 | |
| 字符串处理 | CONCAT(a, b) | 拼接字符串 |
| SUBSTRING(s, start, len) | 截取字符串 | |
| REPLACE(s, a, b) | 将 a 替换为 b | |
| TRIM(s) | 去除空格 | |
| 日期处理 | DATE_FORMAT(date, format) | 格式化日期,如 '%Y-%m-%d' |
| DATEDIFF(d1, d2) | 计算日期差 | |
| NOW(), CURDATE() | 获取当前时间或当前日期 | |
| 空值判断 | IFNULL(expr, default) | 为空时使用默认值 |
| COALESCE(expr1, expr2, ...) | 返回第一个非空值 | |
| 数据处理 | COUNT_DUPLICATES(field1, field2...) | 统计字段重复次数 |
验证公式 按钮提前校验表达式合法性