反馈已提交

网络繁忙

函数计算格式

  • 文档创建者:Wendy123456
  • 历史版本:13
  • 最近更新:Roxy 于 2023-07-18
  • 1. 概述

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

    本文介绍新增计算列」算子中公式的组成和正确写法格式。

    2. 公式组成

    公式计算由四个内容组成:

    内容说明
    函数用于对字段中的值或成员进行转换的语句
    字段 用户数据表中的字段或者已经在 FineDataLink 中设置的参数
    运算符指明运算的符号
    常量按照写入内容表示的常量值

    例如,假设有以下计算:

    IF(应付金额>2000,"大订单","小订单")

    对应计算内容如下所示:

    内容
    说明
    函数IF
    字段

    合同金额

    注:字段必须在左侧字段框中选择,不可手动输入。

    运算符详情参见本文 3.3 节
    常量

    字符串文本:"大订单"、"小订单"

    数字文本:2000

    注:并非所有计算都需要包含所有四个组件。

      有关如何使用计算中的每个组件以及设置其格式的详细信息,请参见下面的部分。

      3. 计算语法

      3.1 函数语法

      在 FineDataLink 中,函数是计算的主要组成部分。

      1)函数在计算中显示为蓝色,每个函数都有特定的语法。

      例如:新建定时任务并在数据转换中新增计算列,单击「添加字段值」,将出现一个「函数列表」。紧接着是「字段选择位置」,从函数列表中选择函数时,最右侧的部分将更新,包含有关该函数的必需语法和说明的信息,并带有一个或多个示例,如下图所示:

      2)可以在计算中使用多个函数。例如:IF(SIGN(利润)=1,利润,0)

      该计算中有两个函数:IF、SIGN。

      函数包括在另一个函数中(即嵌套),上面示例就是这种情况。在这种情况下,将在计算 IF 函数之前先计算「利润」的 SIGN 函数,因为后者在括号内部。

      3.2 字段语法

      可以在计算中插入字段。函数的语法通常会指明应在计算中的何处插入字段。例如:CONCATENATE(文本1, 文本2,……)。

      例如:如果要将「货主国家」和「货主城市」两字段进行合并,输入公式:CONCATENATE(货主国家,货主城市),在左侧的字段选择区域点击选择需要的字段,如下图所示:

      注:字段显示为浅蓝色底。

      3.3 运算符语法

      若要创建计算,需要了解支持的运算符。运算符在计算中显示为黑色。

      3.3.1 四则运算

      运算符
      说明参数类型与对应计算逻辑
      示例结果类型
      +数值相加

      日期计算

      文本拼接

      文本 + 文本 / 数值 / 日期时间 / 布尔
      • 任一参数有文本,进行文本拼接

      • 日期时间将转换为YYYY-MM-dd HH:mm:ss字符串

      • 布尔类型,FALSE视为数值0,TRUE视为数值1参与运算

      • 文本拼接情况下,运算数中有NULL,将其视为空字符串参与拼接

      • 如果运算数全为NULL,结果为NULL

      日期时间 + 数值X(数值X + 日期时间)(逻辑同ADDTODATE)

      • 计算指定日期X天后的日期

      • 如果是小数,会将小数的天数折合成时分秒

      • 运算数中有NULL,结果为NULL

      数值X + 数值Y

      • 数值加

      • 运算数中存在NULL,结果为NULL

      注:不支持日期+日期操作

       3 + 3

      1)文本 + 文本 / 数值 / 日期时间 / 布尔:文本类型

      2)日期时间 + 数值X(数值X + 日期时间):日期时间类型

      3)数值X + 数值Y:数值类型

      /数值相除布尔类型,FALSE视为数值0,TRUE视为数值1参与运算

      数值 / 数值,数值相除

      15 / 3数值类型

      运算数中存在NULL,结果为NULL

      除数为 0 时,结果为NULL

      注:该操作符两端必须为数值类型

      *数值相乘布尔类型,FALSE视为数值0,TRUE视为数值1参与运算

      数值 * 数值,数值相乘

      3 * 3数值类型

      运算数中存在NULL,结果为NULL

      注:该操作符两端必须为数值类型

      -数值相减

      日期计算

      布尔类型,FALSE视为数值0,TRUE视为数值1参与运算

      数值X - 数值Y,数值减

      日期时间 - 数值X(逻辑同ADDTODATE),计算指定日期X天前的日期

      日期时间 - 日期时间,计算指定日期时间之间的毫秒数

      3 - 11)数值X - 数值Y:数值类型

      2)日期时间 - 数值X:日期时间类型

      3)日期时间 - 日期时间:数值类型

      4)运算数中存在NULL,结果为NULL

      注:不支持数值-日期操作;文本类型不能作为减数或被减数

      3.3.2 比较运算

      运算符
      说明参数类型与对应计算逻辑示例结果类型

      >

      <

      >=

      <=

      =

      ==

      !=

      比较运算文本、数值、日期时间、布尔

      1)>、<、>=、<=:要求比较符两侧必须是同类型,不进行自动转换

      2)=、==、!=:不要求比较符两侧类型,类型不一致视为不等,类型一致再进行值比较

      =和==视为等价输入

      A1 > B1

      A1 < B1

      A1 >= B1

      A1 <= B1

      A1 = B1

      A1 == B1

      A1 != B1


      布尔类型

      运算数中存在NULL,结果为NULL

      先判断类型,后判断NULL值情况

      3.3.3 逻辑运算

      运算符
      说明参数类型与对应计算逻辑示例结果类型
      !逻辑非

      布尔类型

      FALSE视为数值0,TRUE视为数值1参与运算

      对于数值类型数据:

      • 非 0 值视为真

      • 0 值视为假

      !A:如果 A 是 true,!A 是 false。

      布尔类型

      运算数中存在NULL,结果为NULL

      3.3.4 优先级

      运算符
      说明参数类型与对应计算逻辑结果类型
      ()提高运算优先级--

      3.4 常量写法

      文本表达式「按原样」表示常量值。使用函数时,有时需要使用文本表达式表示数字、字符串等。

      表达式种类
      说明
      文本
      用双引号包括的内容
      数值无符号包括的数字
      NULL直接写 NULL 即可

      大小写均有效

      布尔直接写 TRUE、FALSE 即可

      大小写均有效




      附件列表


      主题: 数据开发
      已经是第一篇
      已经是最后一篇
      • 有帮助
      • 没帮助
      • 只是浏览
      • 评价文档,奖励 1 ~ 100 随机 F 豆!

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

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

      不再提示

      10s后关闭

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