历史版本3 :函数计算格式 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

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

1.2 功能简介

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

本文介绍「新增计算列」算子的一些逻辑原理。

2. 内容拓展编辑

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

说明
相关文档
「新增计算列」算子简单示例新增计算列
「新增计算列」算子支持的表达式新增计算列支持的公式

3. 功能概述编辑

3.1 算子功能逻辑说明

功能说明
参与计算的元素计算方式(可组合嵌套)
列间单行计算:

不跨行,在单列或列间进行计算后,将计算值放到新的一列中

列间统计计算:

跨行进行分组汇总计算,将结果放到新的一列中

常量、其他字段、参数、公式

直接计算表达式获取结果,表达式包括:

1)元素引用

2)元素间四则运算

3)元素间比较运算

4)元素间逻辑运算

5)元素公式计算

  • 逻辑公式(OR、AND)

  • 文本公式

  • 日期时间公式

  • 数学公式

逻辑映射:

根据多个条件对原始数据进行分组或其他映射计算处理,将分组结果放到新的一列中

常量、其他字段、参数、公式通过IFSWITCH对作为条件的表达式进行判断,选取符合条件的分支,计算对应表达式获取结果

3.2 新增字段配置

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

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

12.png

字段配置介绍请参见:


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

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。

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

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

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

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

数值 / 数值,数值相除

数值类型

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

除数为 0 时,结果为NULL

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

数值 * 数值,数值相乘

数值类型

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

-数值相减

日期计算

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

数值X - 数值Y,数值减

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

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

1)数值X - 数值Y:数值类型

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

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

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

3.3.2 比较运算

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

>

<

>=

<=

=

==

!=

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

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

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

3)=和==视为等价输入

布尔类型

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

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

3.3.3 逻辑运算

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

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

对于数值类型数据:

  • 非 0 值视为真

  • 0 值视为假

布尔类型

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

3.3.4 优先级

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

3.4 手写公式

手写参数使用${}包裹生效,字段使用#{}包裹生效,参数和字段不匹配时标红(大小写敏感)。