反馈已提交

网络繁忙

新增计算列功能说明

  • 文档创建者:Wendy123456
  • 历史版本:18
  • 最近更新:Naya 于 2025-09-05
  • 1. 概述

    1.1 版本

    FineDataLink 版本功能变动
    4.0.23
    支持对常量、参数和其他字段进行公式计算或逻辑映射,将结果放到新的一列,参与后续运算或进行输出
    4.1.8.3

    在公式编辑可选的参数中,looptimes类型从字符串变成了数值

    cyctime类型从字符串变成了日期

    4.1.11.3
    • 新增和优化公式REGEXP_SUBSTR、CONCATENATE、FORMAT

    • 优化计算逻辑问题,支持的字段类型为 bool、long、double、string、timestamp

    • 优化交互提示,写函数时下方联动出现函数介绍

    4.2.10.1 

    「新增字段」配置中:

    • 支持修改字段类型

    • 新增「类型转换配置」配置项

    1.2 功能简介

    在不影响原有字段的情况下,新增计算列算子可利用原有字段通过引用或计算获得一个新的字段。

    如下图所示:

    8.png

    1.3 注意事项

    用户的数据源是 MySQL,使用新增计算列算子时,遇到以下问题:

    • 对 600.185 和 700.185 分别取前两位小数,四舍五入后的结果不一样,分别为:600.18、700.19。

    • 4131.9*0.45 两数相乘,正常计算结果是 1859.355,新增计算列算子的结果为 1859.3549999999998。

    新增计算列算子中,数值计算是用 double 类型的,在处理一些精度问题上会有一些问题。

    建议用户将字段类型调整为 decimal,使用「Spark SQL」算子进行计算。

    2. 示例

    2.1 场景模拟

    在对表数据进行处理过程中,用户想新增一列数据,记录合同签约时间与注册时间之间的时间差。

    示例数据:合同事实表.xls

    用户有张「合同事实表」,表中已有字段「注册时间」和「签约时间」。如下图所示:

    1683773294898923.png

    2.2 新建定时任务

    新建定时任务,拖入「数据转换」节点。如下图所示:

    10.png

    2.3 数据输入

    进入数据转换节点,拖入DB 表输入算子,取出存放在数据库中的合同事实表数据。如下图所示:

    11.png

    2.4 新增列

    1)拖入「新增计算列」算子,新增一列,字段名为时间差」,值为签约时间与注册时间之间的时间差。如下图所示:

    12.png

    点击「确定」按钮后,最后结果如下图所示:

    注1:该页面支持字段的新增、删除,不支持字段的排序。

    注2:新增后的字段将按列表顺序,追加到原字段末尾;如用户希望调整字段顺序,可在输出算子的「字段映射」处调整。

    7.png

    各设置项说明如下表所示:

    设置项说明
    字段名

    新增字段的名称,命名规则可参考文档:字段设置

    字段值

    展示字段值;默认为空,必填

    点击时直接弹出公式编辑框

    公式编辑框

    11.png

    在公式编辑框左侧,可看到支持的函数

    鼠标悬浮到某个函数时,在公式释义区域展示公式简介、参数说明、示例;鼠标点击左侧公式时,在公式编辑框中自动插入对应公式

    注1:公式编辑框中的字段和参数,需要从左侧点选或通过自动补全补出;若想手动输入,需注意:手写参数使用 ${} 包裹生效,字段使用 #{} 包裹生效,参数和字段不匹配时标红(大小写敏感)。

    注2:若新增列值的计算公式中包含参数,且参数为小数,将直接截取整数部分参与计算。

    类型

    4.2.10.1 及之后版本,支持修改字段类型,可设置字段类型有:int、long、float、double、date、timestamp、binary、boolean、varchardecimal

    4.2.10.1 之前版本说明请参见:历史版本

    类型转换配置

    4.2.10.1 及之后版本,新增「类型转换配置」配置项

    1)varchar → date/timestamp:需指定原始字段的解析格式

    6.png

    其中,yyyy 表示 4 位的年份;MM 表示月;dd 表示天;HH 表示小时(24小时制);mm 表示分钟;ss 表示秒;SS 表示毫秒。支持选择或手动填写格式,且支持毫秒级别。

    2)date/timestamp → varchar:需指定目标字段的输出格式

    7.png

    3)其他类型 → decimal:需指定目标字段的精度、标度

    4.png

    2)点击数据预览,如下图所示:

    8.png

    2.5 数据后续处理

    继续对「合同事实表」进行数据处理,或者使用「DB表输出」算子将数据输出到数据库中。

    3. 拓展阅读

    3.1 使用示例

    还可通过以下内容了解「新增计算列」算子的使用:

    说明
    相关文档
    逻辑原理说明,例如功能逻辑说明、所支持运算符的对应计算逻辑等函数计算格式
    支持的表达式具体介绍

    文本函数概述

    日期函数概述

    逻辑函数概述

    数值函数

    其他函数

    最佳实践

    常见日期公式

    缺失值处理

    新增列_条件赋值

    新增列_分组赋值

    字符串拼接和截取

    字符串清洗

    3.2 问题解答

    新增计算列算子中没有 sum 和窗口函数,建议使用「Spark SQL」算子实现,详情请参见:SparkSQL窗口函数

    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持