函数公式是JVS的核心、通用的基础能力,主要用于数据的动态加工。 函数公式是否好用 一个核心的能力 在与 内置的函数是否足够多,以及函数扩展的能力。
部分公式介绍
先看看系统中内置的部分函数说明:
函数
函数分类
说明
说明
上手实例
EQ
逻辑函数
两个值比较,相等返回 true,默认忽略大小写,若不忽略,则填写第三个参数true
2个,必填
EQ(value1,value2)
NE
逻辑函数
两个值比较,不相等返回 true,默认忽略大小写,若不忽略,则填写第三个参数true
2个,必填
NE(value1,value2)
LT
逻辑函数
value1小于value2返回 true
2个,必填
LT(value1,value2)
GT
逻辑函数
value1大于value2返回 true
2个,必填
GT(value1,value2)
LE
逻辑函数
value1小于等于value2返回 true
2个,必填
LE(value1,value2)
GE
逻辑函数
value1大于等于value2返回 true
2个,必填
GE(value1,value2)
AND
逻辑函数
当参数组中的所有参数逻辑值为 true 时(逗号隔开的逻辑式子都满足),才返回 true,当参数组中的任何一个参数逻辑值为 false 时,就会返回false。
至少1个,必填
AND(logical1, [logical2], ...)
OR
逻辑函数
在参数组中,任何一个参数逻辑值为 true(逗号隔开的逻辑式子其中一项满足),即返回 true;只有当所有逻辑参数值为 false,才返回 false。
至少1个,必填
OR(logical1,[logical2], ...)
NOT
逻辑函数
对参数逻辑值求反。NOT 比较简单,就是把括号里为 true 的值变成 false,括号里为 false 的值变为 true。
1个,必填
NOT(logical)
IF
逻辑函数
判断一个条件能否满足;如果满足返回一个值,如果不满足则返回另外一个值
3个,必填
IF(A,B,C)
ISEMPTY
逻辑函数
判断一个字段是否为空;如果为空,则返回 true;如果不为空则返回 false
1个,必填
ISEMPTY(字段)
NUMBERCOMP
逻辑函数
数值组件与数值组件2比较,大于返回1,等于返回0,小于返回-1
2个,必填
例1:NUMBERCOMP(3,6)
ISVALIDINTEGER
逻辑函数
判断参数是否为整型数字。
也可用于判断数字类型字段是否为空。
1个,必填
例1:ISVALIDINTEGER("bbb")
ISNOTEMPTY
逻辑函数
判断字符类型参数是否不为空,为空返回false,不为空返回true。
1个,必填
ISNOTEMPTY("bbb")
DENGYU
逻辑函数
判断两数值类型参数是否相等
2个,必填
DENGYU(4,5)
ISNUMBER
逻辑函数
判断参数是否为数字类型
1个,必填
ISNUMBER("bbb")
CONCATENATE
文本函数
将多个字符串拼接合成一个文本字符串
至少1个,必填
CONCATENATE(text1,[text2], ...)
LEFT
文本函数
从一个文本字符串的第一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回
2个,必填
LEFT(text,num_chars)
RIGHT
文本函数
从一个文本字符串的最后一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回
2个,必填
RIGHT(text,num_chars)
LEN
文本函数
返回文本字符串中的字符个数
1个,必填
LEN(text)
LOWER
文本函数
将一个文本字符串中的所有大写字母转换为小写字母
1个,必填
LOWER(text)
UPPER
文本函数
将一个文本字符串中的所有小写字母转换为大写字母
1个,必填
UPPER(text)
REPLACE
文本函数
替换字符串参数1,要替换字符数为参数2,替换后的内容为参数3
3个,必填
REPLACE(“aabbcc”,"EE","bb")
REPT
文本函数
将文本重复指定次数
2个,必填
REPT(text, number_times)
SEARCH
文本函数
在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。返回 0 则表示未查找到
3个,前2个必填
SEARCH(findtext,withintext,[start_num])
MID
文本函数
截取文本的有效部分内容
3个,必填
MID(text,start_index,end_index)
ADD
数学函数
计算多个字段值总和
至少1个,必填
ADD(number1, [number2], ...)
AVERAGE
数学函数
求多个数值的平均值
至少1个,必填
AVERAGE(number1, [number2], ...)
MAX
数学函数
返回一组数字中的最大值
至少1个,必填
MAX(Number1, [Number2], ...)
MIN
数学函数
返回一组数字中的最小值
至少1个,必填
MIN(Number1, [Number2], ...)
ABS
数学函数
当数值为负数的时候返回他的绝对值数值
1个,必填
ABS(Number)
ROUND
数学函数
数值出现小数点的时候,将小位数指定到对应的位数
2个,必填
ROUND(number, num_digits)
CEILING
数学函数
返回将参数
number 向上舍入(沿绝对值增大的方向)为最接近的指定基数的倍数
2个,必填
CEILING(number, significance)
FLOOR
数学函数
将参数
number 向下舍入(沿绝对值减小的方向)为最接近的 significance 的倍数
2个,必填
FLOOR(number, significance)
INTNUM
数学函数
将数字向下舍入到最接近的整数
1个,必填
INTNUM(number)
LOG
数学函数
根据指定底数返回数字的对数
2个,必填
LOG(number, base)
MOD
数学函数
返回 2
个数值组件相除的余数
2个,必填
MOD(number, divisor)
POWER
数学函数
计算出数值组件乘幂的值
2个,必填
POWER(number, power)
FIXED
数学函数
将数字舍入到指定的小数位数,以十进制数格式对该数进行格式设置,并以数字形式返回结果
2个,必填
FIXED(number, decimals)
SQRT
数学函数
取数值组件值正的平方根
1个,必填
SQRT(number)
SUM
数学函数
函数使所有以参数形式给出的数字相加并返回和
至少1个,必填
SUM(number1, [number2], ...)
PRODUCT
数学函数
数字相乘
2个,必填
PRODUCT(number1,number2)
SUMPRODUCT
数学函数
在给定的数组中,将数组间对应的元素相乘,并返回乘积之和
2个,必填
SUMPRODUCT(array1, array2)
NUMBERCOMPARE
数学函数
数值组件与数值组件2比较,大于返回1,等于返回0,小于返回-1
2个,必填
NUMBERCOMPARE(数值组件1,数值组件2)
SUBTRACT
数学函数
减法运算
2个
SUBTRACT(number1,number2)
MULTIPLY
数学函数
乘法运算
至少2个,必填
MULTIPLY(number1, [number2], ...)
DIVIDE
数学函数
除法运算
2个,必填
DIVIDE(number1,number2)
DECIMALFORMAT
数学函数
格式化带有小数的数字
第一个参数为要格式化的数字; 第二个参数为格式: 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。
- 0 ------ 取一位整数
- 0.00 ------ 取一位整数和两位小数
- 00.000 ------ 取两位整数和三位小数
- # ------ 取所有整数部分
- #.##% ------ 以百分比方式计数,并取两位小数
- #.#####E0 ------ 显示为科学计数法,并取五位小数
- ,### ------ 每三位以逗号进行分隔,例如:299,792,458
- 光速大小为每秒,###米 ------ 将格式嵌入文本
2个,必填
NOW
时间函数
返回当前时间,格式为年-月-日 时-分-秒
不可填
NOW()
TIMEFORMAT
时间函数
将时间戳转换为指定日期格式
2个,必填
TIMEFORMAT(date1,'yyyy年MM月dd日')
GETYEAR
时间函数
获取指定时间的年份
1个,必填
GETYEAR(date1)
GETMONTH
时间函数
获取指定时间的月份
1个,必填
GETMONTH(date1)
GETDATE
时间函数
获取指定时间的天数,这个月的第几天
1个,必填
GETDATE(date1)
GETWEEKDAY
时间函数
获取指定时间的星期几
1个,必填
GETWEEKDAY(date1)
COMPARE
时间函数
比较两个时间的大小,日期1 大于 日期2 返回 true,否则返回 false
2个,必填
COMPARE(date1,date2)
TIMEBETWEEN
时间函数
返回两个日期之间相差的天、月、年、小时等。
第三个参数使用不同的参数返回同的相差类型:天(DAYS)、周(WEEKS)、月(MONTHS)、年(YEARS)、小时(HOURS)、分钟(MINUTES)、秒(SECONDS)。
3个,必填
TIMEBETWEEN(date1,date2,'DAYS')
GETCHINESEZODIAC
时间函数
根据身份证号自动计算生肖
1个,必填
GETCHINESEZODIAC('549874455212544412')
GETZODIAC
时间函数
根据身份证号自动计算星座
1个,必填
GETZODIAC('549874455212544412')
QUARTER
时间函数
获取日期所在的季度
1个,必填
QUARTER(‘2022-09-15 12:34:23’)
DAYOFFSET
时间函数
日期增加或减少指定天数
2个,必填
DAYOFFSET(‘2022-09-15 12:34:23’,20)
COMPAREDATE
时间函数
比较两个日期的大小,日期参数1大于日期参数2返回 true,否则返回 false
2个,必填
COMPAREDATE('2022-09-16','2022-09-12')
DATEFORMAT
时间函数
将日期转换为指定日期格式
2个,必填
DATEFORMAT('2022-09-16','yyyy-MM-dd HH:mm:ss')
DATEPARSE
时间函数
自动识别时间格式,将日期转换为指定日期格式
2个,必填
DATEPARSE("2022-09-05T03:21:23.825Z","yyyy-MMM-dd")
PARSETIMESTAMP
时间函数
将时间戳转换为日期时间格式(yyyy-MM-dd HH:mm:ss)
1个,必填
PARSETIMESTAMP(1675612800000)
AGEOFNOW
时间函数
根据日期计算当前年龄
1个,必填
AGEOFNOW("1989-02-05")
INTERSECTI
集合函数
计算两个集合的交集
2个,必填
INTERSECTIONSET(array1,array2)
UNIONSET
集合函数
计算两个集合的并集
2个,必填
UNIONSET(array1,array2)
DIFFERENCESET
集合函数
计算两个集合的差集
2个,必填
DIFFERENCESET(array1,array2)
SUBSET
集合函数
计算第二个集合是否第一个集合的子集
2个,必填
SUBSET(array1,array2)
ARRAYGET
集合函数
返回数据集中第k个值
2个,必填
ARRAYGET(Array, k)
LARGE
集合函数
返回数据集中第k个最大值
2个,必填
LARGE(Array, k)
SMALL
集合函数
返回数据集中第k个最小值
2个,必填
SMALL(Array,k)
LISTADDALL
集合函数
将所有参数组合为一个集合返回
多个
LISTADDALL(4,5,"aaa",2,52,5)
LISTGET
集合函数
获取集合中指定索引位置的元素
2个,必填
LISTGET([4, 5, "aaa", 2, 52, 5],3)
LISTADD
集合函数
向集合中添加多个元素
2个,必填
LISTADD([4, 5, "aaa", 2, 52, 5],"bbb")
LISTRANDOM
集合函数
随机取集合中的某一元素
1个,必填
LISTRANDOM([4, 5, "aaa", 2, 52, 5])
CONTAIN
集合函数
返回参数一集合中是否包含参数二,包含返回true,不包含返回false
2个,必填
CONTAIN(["bbb",4,5,6,7],"aa")
LISTSUM
集合函数
返回集合中所有元素的累加和。
可用于表格中某列数据汇总求和运算
1个,必填
LISTSUM([4,5,6,7])
OBJLISTSUM
集合函数
返回参数1[对象数组]中对象的【某个属性】的累加和
2个,必填
OBJLISTSUM([obj1,obj2,obj3],'金额')
ARRAYJOIN
集合函数
使用间隔符将一个字符串数组连接,转为字符串
2个,必填
ARRAYJOIN(String[],"-")
ARRAYINDEXOF
集合函数
返回集合中指定元素所在位置
2个,必填
ARRAYINDEXOF([4, 5, 3, 52, 5],3)
函数的扩展
具备管理员权限的用户可以点击平台运维,进入扩展开发的菜单,选中基础函数的管理页面,可以通过界面化的方式进行扩展函数
点击 “新建”的按钮,包括函数的名称、函数的解释、函数的小标题、函数体的配置、函数输出类型、函数的参数说明等。
在线demo:app.bctools.cn
基础框架开源地址:gitee.com/software-mi…