公式引用 V1
19R1 版本之前
请参阅下表,了解 Vault CDMS 公式和表达式语法中可用函数和运算符、日期格式和数字格式的详细信息。
函数和运算符
语法 | 说明 | ||||||
逻辑运算符 | |||||||
< | 小于 | ||||||
<= | 小于等于 | ||||||
> | 大于 | ||||||
>= | 大于等于 | ||||||
numberEquals(number1, number2) | 如果两个数字参数(可以包括表达式)相等,则返回 true。 | ||||||
textEquals(text1, text2) | 如果两个文本(字符串)参数相等,则返回 true。 | ||||||
&& | 和 | ||||||
|| | OR | ||||||
算术运算符 | |||||||
* | 计算两个值的乘积。 | ||||||
/ | 一个值除以另一个值。 | ||||||
% | 计算一个值除以另一个值的余数。 | ||||||
+ | 计算两个值的和。 | ||||||
- | 计算两个值的差。 | ||||||
数学函数 | |||||||
min(number1, number2 ...) | 返回集合中的最小值。 | ||||||
max(number1, number2, ...) | 返回集合中的最大值。 | ||||||
sqrt(number) | 返回平方根。 | ||||||
floor(number) | 返回大于该值(数字)的下一个整数。 | ||||||
ceiling(number) | 返回小于该值(数字)的下一个整数。 | ||||||
round(number_of_digits) | 将值四舍五入到指定的小数位数。 | ||||||
value(text) | 将字符串(文本)作为数字返回。 | ||||||
逻辑函数 | |||||||
and(expression1, expression2, ...) | 当两个条件都为真时,返回 true。 | ||||||
or(expression1, expression2, ....) | 如果任意条件为真,则返回 true。 | ||||||
not(expression) | 当条件为假时,返回 true。 | ||||||
if(expression1, value1, value2) | 如果表达式为真,返回值 1;否则返回值 2。 | ||||||
isNumber(text) | 当值为数字时,返回 true。 | ||||||
isNull(expression) | 当值为 null 时,返回 true。 | ||||||
picklistEquals(<Picklist Field>, Picklist.<picklist name>.<value>) | 将选项列表值与现有全局选项列表标签值进行比较,并返回 true 或 false。 | ||||||
isBlank(expression) | 当值为空时,返回 true。 | ||||||
值函数 | |||||||
case(expression1, match1, result1, match2, result2, else_result) | 将表达式的值与每个匹配值 (match) 进行比较,并返回对应的结果。如果没有值匹配,则返回最后一个 (else) 参数。 | ||||||
ifBlank(expression1, expression2) | 如果第一个参数 (expression1) 为空,则该函数返回第二个参数 (expression2)。如果不为空,该函数则返回第一个参数 (expression1)。 | ||||||
ifNull(expression1, expression2) | 如果第一个参数 (expression1) 为 null,则该函数返回第二个参数 (expression2)。如果不为 null,则返回第一个参数 (expression1)。 | ||||||
文本函数 | |||||||
upper(value) | 将文本(value)转换为大写。 | ||||||
lower(value) | 将文本(value)转换为小写。 | ||||||
left(value, pos) | 返回从左侧指定位置 (pos) 算起的指定数量文本字符 (value)。 | ||||||
right(value, pos) | 返回从右侧指定位置 (pos) 算起的指定数量文本字符 (value)。 | ||||||
middle(value, pos1, pos2) | 返回两个指定位置(pos1 和 pos2)之间的指定数量文本字符。 | ||||||
length(value) | 返回字符长度。 | ||||||
substitute(value, from, to) | 替换定义的值。 | ||||||
trim(value) | 移除前后空格。 | ||||||
text(Date, format_mask) | 对指定日期应用格式化(format_mask)。 | ||||||
text(Number, format_mask) | 对指定数字(可以包括表达式)应用格式化(format_mask)。 | ||||||
Concatenate(text1, text2, ...) | 使用此函数连接文本字符串。 | ||||||
日期和日期时间函数& | |||||||
date(year, month, day) | 返回日期,以设定日期格式显示。 | ||||||
day(date) | 返回日期中的第几日。 | ||||||
month(date) | 返回日期中的月份。 | ||||||
year(date) | 返回日期中的年份。 | ||||||
today() | 返回 Vault 时区中今天的日期。 | ||||||
now() | 返回当前日期和时间(UTC)。 | ||||||
hour() | 返回当前小时值,范围为 1 到 23(UTC)。 | ||||||
minute() | 返回当前小时中的分钟值,范围为 1 到 59(UTC)。 | ||||||
second() | 返回当前分钟中的秒数,范围为 1 到 59(UTC)。 | ||||||
days(number) | 以时间间隔的形式返回指定的天数。 | ||||||
months(number) | 以时间间隔的形式返回指定的月数。 | ||||||
years(number) | 以时间间隔的形式返回指定的年数。 | ||||||
dateDiff(end, start) | 返回两个日期之间的天数差。此函数将结束日期(end)与起始日期(start)相减。 (EDC)注意:dateDiff 不能处理未知日期。如果研究设计允许日期类型条目有未知值,必须使用 substitute 来替换未知日期。 |
||||||
timeDiff(end, start)) | 返回两个时间之间的分钟差。此函数将结束时间(end)与起始时间(start)相减。 | ||||||
dateAdd(date, interval) | 返回一个日期,该日期基于从起始日期(date)的偏移(interval)。 可以使用 days(#)、months(#)、或 years(#) 分别指定间隔的是天数、月数还是年数。 例如,可以在审计对象上使用公式字段来计算审计结束日期。结束日期是审计开始日期两周后。 dateAdd(Object.audit_start_date v, days(14)) |
||||||
dateTimeAdd (datetime, interval) | 返回一个日期时间值,该日期时间基于从起始日期时间(datetime)的偏移(interval)。 可以使用 days(#)、months(#)、或 years(#) 分别指定间隔的是天数、月数还是年数。 |
||||||
dateTimeDiff (end, start) | 返回两个日期时间值之间的天数、小时数和分钟数差。此函数将结束日期时间(end)与起始日期时间(start)相减。 | ||||||
dateInISO(date) | 返回日期(date),以 ISO 格式显示。 | ||||||
dateInISO(datetime) | 返回日期时间(datetime),以 ISO 格式显示。 | ||||||
Vault 函数 | |||||||
durationInValue | 返回字段具有指定值的总持续时间;不支持日期或日期/时间字段类型。如果该字段当前具有该值,Vault 使用当前日期作为结束日期。如果该字段从未有过该值,则函数返回 null/空值。备注:此函数返回天数,带有小数。 | ||||||
previousValue | 返回该字段在当前值之前的值;不支持日期或日期/时间字段类型。 | ||||||
firstTimeInValue | 返回字段首次设置为指定值的日期和时间;不支持日期或日期/时间字段类型。如果该字段从未有过该值,则函数返回 null/空值。 | ||||||
lastTimeInValue | 返回字段末次设置为指定值的日期和时间;不支持日期或日期/时间字段类型。注意,即使字段曾多次具有特定值,该函数也会返回最近的时间。如果该字段当前具有该值,则函数返回当前的日期和时间。如果该字段从未有过该值,则函数返回 null/空值。 | ||||||
numTimesInValue | 返回字段设置为指定值的次数;不支持日期或日期/时间字段类型。 |
日期格式
日期格式 | 示例日期输出 | ||||
d | 1(某月中的第几日,1 位数) | ||||
dd | 01(某月中的第几日,2 位数) | ||||
ddd | Thu(星期几,3 个字母缩写) | ||||
dddd | Thursday(星期几,全拼) | ||||
mm | 03(月份,2 位数) | ||||
mmm | Mar(月份,3 个字母缩写) | ||||
mmmm | March(月份,全拼) | ||||
yy | 17(年份,2 位数) | ||||
yyyy | 2017(年份,4 位数) | ||||
dd-mm-yyyy | 31-03-2017 | ||||
yyyymmdd | 20170331 | ||||
dd.mmm.yyyy | 30.03.2017 | ||||
yyyy-mm-dd | 2017-03-30 | ||||
mmmm yyyy | March 2017 | ||||
dddd dd/mm/yy | Thursday 31/03/17 |
数字格式
数字格式 | 示例数字输入 | 示例数字输出 | |||||||||
0 | 10.1 | 10(数字,不带小数) | |||||||||
# | 10.10 | 10(数字,不带小数,省略零) | |||||||||
0.00 | 10.2531 | 10.25(数字,保留两位小数) | |||||||||
#.## | 10.2501 | 10.25(数字,保留两位小数,省略零) | |||||||||
$# | 100 | $100(数字,以货币形式显示) | |||||||||
#,### | 1104 | 1,104(数字,从左边起每 3 位用逗号分隔,可多次使用逗号) | |||||||||
- | 10 | -10(给表达式添加负号) | |||||||||
% | 9 | %90(数字乘以 10 并显示为百分比) | |||||||||
E | 12345 | 1.234E4(将尾数(即有效数字的数量)与指数分离,并使用科学记数法表示) |