公式字段将根据指定字段的值或公式中给出的数字、文本或日期值自动计算并导出其值。您可以使用数字、逻辑、日期/时间和文本函数等函数,通过公式自定义字段。要创建公式,请选择函数并传递任意参数,例如数字、日期、时间、现有字段、自定义字段和文本字符串。您可以根据函数及其传入的参数设置每个公式的返回类型。此外,您还可以使用数字和逻辑运算符来创建公式。
优势:
从其他字段提取数据以获取结果
自动执行复杂计算
创建自定义公式字段
创建公式自定义字段
点击顶部导航栏右上角的 。
导航至“自定义”>“布局和字段”>“任务”。
点击布局以添加新的公式自定义字段。
将公式字段从“新建字段”托盘拖放到布局编辑器(主面板)中。
命名公式字段。
选择一个函数来创建公式。点击此处查看函数和运算符列表。
您可以将默认字段、自定义字段、数值、日期值、文本字符串等作为参数传递给函数。
您可以在公式表达式中使用数值和逻辑运算符。
设置公式输出值的返回数据类型。但是,一旦字段保存到布局中,您将无法修改返回类型。
点击“添加布局”以将字段添加到布局中。如果单击“取消”,则该字段将永远不会存储在任何位置。
返回数据类型
公式的返回类型决定了您希望从公式返回的数据类型。
单行文本:返回最多 255 个字符的文本字符串。
多行文本:返回最多 4000 个字符的文本字符串。
整数:返回最多 18 位的正整数或负整数。
小数:返回最多 18 位的小数值。
货币:返回您在创建公式字段时设置的货币类型。
百分比:返回最多 18 位的百分比格式的数字,后跟一个百分号。
天:根据您在门户设置中配置的营业时间,以天数形式返回输出。
例如,如果营业时间设置为每天 8 小时,公式为 {duration}+10,其中持续时间为 6 小时,则输出将为 16 小时。但是,返回类型为“天”,因此输出的 16 小时将根据工作时间转换为 2 个工作日。同样,如果您的输入是分钟格式,它将被转换为小时,然后转换为天。
日期/时间:返回以 mm-dd-yyyy 和 hh:mm 格式表示日期和时间的数据。如果您想在公式中返回当前日期和时间,请使用 NOW() 函数。
公式的返回类型一旦保存就无法修改。
公式字段包含在自定义字段总数中。根据公式的返回类型,其他字段类型的数量将减少。例如,如果您创建一个以单行文本作为返回类型的公式字段,则单行文本字段类型的数量将减少。
公式函数和运算符
文本函数
ARRAYJOIN([value1,value2,...], ‘separator’)
使用分隔符连接数组元素。
示例:ARRAYJOIN([{EMPLOYEE ID},{WORK_IN_HRS}],‘-’)
在此示例中,引用值列表并将其显示为数组。员工 ID 的值为 Zyl01,工作时长的值为 5,因此输出为 Zyl01-5。
员工 ID 是一个自定义字段。其值将用于计算输出。您可以使用自定义字段、数值或表达式替换这些值。
CONCATENATE(argument1,argument2, ...)
将多个值或表达式合并为一个。如果要连接文本字符串,必须将其括在单引号中。
示例:CONCATENATE({FEATURE},'-',{SCOPE})
在此示例中,多个自定义字段在单个字段中引用,并将它们的值连接起来。同样,您也可以在单个字段中引用要显示的自定义字段或值。
Feature 和 Scope 是自定义字段。它们的值将用于计算输出。您可以将这些值替换为其他自定义字段、文本字符串、数值、日期/时间参数或其他表达式。
LEN(string)
返回给定文本字符串的字符数。
示例:LEN({DESIGN})
本例中,将识别文本字段“DESIGN”中包括空格在内的字符数。如果“DESIGN”字段包含文本“待实施的新设计”,则输出为 28。
“Design”是一个自定义字段。其值将用于计算输出。您可以将这些值替换为文本字符串或文本自定义字段。
逻辑运算符
值 1 > 值 2(大于)
计算给定值是否大于逻辑表达式中的其他值。逻辑满足时返回 true,否则返回 false。
示例:{REVENUE} > {EXPENSE}
收入和支出是自定义字段。它们的值将用于计算输出。您可以将这些值替换为自定义数值字段、数值或表达式。
值 1 < 值 2(小于)
计算给定值是否小于逻辑表达式中的另一个值。当逻辑满足时返回 true,否则返回 false。
示例:{PERCENTAGE COMPLETION} < 80
完成百分比是一个自定义字段。其值将用于计算输出。您可以使用自定义数字字段、数值或表达式替换这些值。
值 1 >= 值 2(大于或等于)
计算给定值是否大于或等于逻辑表达式中的另一个值。当逻辑满足时返回 true,否则返回 false。
示例:{PROFIT} >= 10000
Profit 是一个自定义字段。其值将用于计算输出。您可以将这些值替换为自定义数值字段、数值或表达式。
值 1 <= 值 2(小于或等于)
计算给定值是否小于或等于逻辑表达式中的另一个值。当逻辑表达式满足条件时返回 true,否则返回 false。
示例:{TIME} <= 15
TIME 是一个自定义字段。其值将用于计算输出。您可以将这些值替换为自定义字段、数值或表达式。
Value1 == Value2(等于)
计算给定值是否等于逻辑表达式中的另一个值。当逻辑表达式满足时,返回 true 作为输出,否则返回 false。
示例:{COMMISSION} == 15000
佣金是一个自定义字段。其值将用于计算输出。您可以使用自定义字段、数值或表达式替换这些值。
值 1 != 值 2(不等于)
判断给定值是否与逻辑表达式中的其他值相等。逻辑表达式成立时返回 true,否则返回 false。
示例:{WORK_IN_HRS} != 5
使用此公式,您可以计算每人成本。如果“总成本”和“人数”字段的值分别为 10000 和 20,则每人成本为 500。
“时长”是自定义字段。其值将用于计算输出。您可以使用自定义字段、数值或表达式替换这些值。
逻辑函数
AND(参数1,参数2,...)
判断所有给定参数是否为真。
示例:AND({PERCENTAGE COMPLETE} <=90,{PERCENTAGE COMPLETE} >=50)
使用此公式,您可以确定完成百分比是否在 50% 到 90% 之间。当完成百分比值大于或等于 50% 且小于或等于 90% 时,输出为 True。否则,输出为 False。
“完成百分比”是默认字段。将参考其值来计算输出。您可以使用自定义字段、数值或其他表达式替换这些值。
OR(参数1,参数2,...)
计算给定的两个值或参数中至少有一个为真。
示例:OR({PERCENT}>50,{REVENUE}>{EXPENSE})
使用此公式,您可以判断交易是否符合条件。当百分比值大于 50 或收入大于支出时,输出结果为 True。否则,输出结果为 False。
百分比、收入和支出是自定义字段。它们的值将用于计算输出结果。您可以使用自定义字段、数值或表达式替换这些值。
IF(logic,value1,value2)
计算逻辑,如果为真则返回 value1,否则返回 value2。
示例:IF({PLANNED COST}>{ACTUAL COST},'OVERRUN','SURPLUS')
使用此公式,您可以判断预算是超支还是盈余。如果计划成本大于实际成本,则输出结果为“超支”,否则输出结果为“不合格”。
Percent 是一个自定义字段。其值将用于计算输出结果。您可以使用自定义字段、数值或表达式替换这些值。
您还可以嵌套 IF 函数。
示例:IF({COMMISSION}>10, '$150', IF({COMMISSION}=7, '$70', '$110))
在此示例中,如果佣金大于 10,则输出 $150,否则将执行嵌套的 IF 函数。
数字运算符
+(加法)
将给定的数值或字段参数相加。
示例:{材料成本} + {实际成本}
在此示例中,您可以使用上述公式创建一个名为“总成本”的公式字段。如果“材料成本”字段的值为 2000,实际成本为 3000,则输出结果为 5000。
“材料成本”和“实际成本”是自定义字段。它们的值将用于计算输出结果。您可以使用自定义数值字段、数值或表达式替换这些值。
-(减法)
减去给定的数值或字段参数。
示例:{REVENUE} - {EXPENSE}
使用此公式可以计算利润。如果“收入”和“支出”字段的值分别为 8000 和 5000,则利润为 3000。
“收入”和“支出”是自定义字段。它们的值将用于计算输出。您可以将这些值替换为自定义数值字段、数值或表达式。
*(乘法)
将给定的数值或字段参数相乘。
示例:{单价} * {数量}
使用此公式可以计算总成本。如果“单价”和“数量”字段的值分别为 200 和 80,则总成本为 16000。
“单价”和“数量”是自定义字段。它们的值将用于计算输出。您可以将这些值替换为自定义数值字段、数值或表达式。
/(除法)
将给定的数值或字段参数相除。
示例:{总费用} / {人数}
使用此公式,您可以计算人均费用。如果“总费用”和“人数”字段的值分别为 10000 和 20,则人均费用为 500。
“总费用”和“人数”是自定义字段。它们的值将用于计算输出。您可以将这些值替换为自定义字段、数值或表达式。
数值函数
AVERAGE(number1,number2,...)
返回给定一组数值或字段参数的平均值。
示例:AVERAGE({PHASE1},{PHASE2},{PHASE3})
使用此公式,您可以计算不同阶段值的平均值。如果字段 phase1、phase2 和 phase3 的值分别为 9000、8000 和 10000,则平均阶段值为 9000。
Phase1、Phase2 和 Phase3 是自定义字段。它们的值将用于计算输出。您可以将这些值替换为自定义字段、数值或表达式。
COUNT(number1,number2,...)
仅返回给定数值或字段的数量。其他文本字符串或字符将不予统计。
示例:COUNT(1,2,3,'','FOUR')
使用此公式,您可以统计数值或数字字段参数。但是,文本字符串或空格将不予统计。您可以将这些值替换为自定义数值字段或数值。
INT(value)
返回小于或等于指定值的整数。
示例:INT({PROFIT})
使用此公式,您可以计算出利润值四舍五入后小于或等于其自身的值。如果“profit”字段的值为 89.48,则输出结果为 89。
MAX(number1,number2,...)
返回给定一组数字或数值字段中的最大值。
示例:MAX(0.06*{COST PRICE},100)
使用此公式可以确定最大佣金值。如果“成本价”字段的值为 2000,则 0.06*2000 的结果为 120,大于最小值 100。因此,佣金值为 120。
MIN(number1,number2,...)
返回给定数字或数值字段中的最小值。
示例:MIN({PHASE1},{PHASE2})
使用此公式可以找到最低阶段值。如果字段 phase1 和 phase2 的值分别为 2500 和 3000,则最低阶段值为 2500。
MOD(值,除数)
返回值除以除数后的余数。
示例:MOD({总单位数},{人数})
使用此公式,您可以找到剩余的可用单位。如果“总单位数”和“人数”字段的值分别为 5000 和 2300,则剩余单位数为 400。
ROUND(value, precision)
返回最接近指定值的整数,并根据给定的精度限制新值。
示例:ROUND({PRICE} * {DISCOUNT}, 2)
使用此公式,您可以计算四舍五入到最接近值的折扣价,并根据精度限制小数位数。如果“价格”和“折扣”字段的值分别为 999 和 0.07,则“折扣价”的输出为 69.93。
SUM(value1,value2,...)
计算给定值或字段参数的总和。
示例:SUM({LIABILITIES},{EQUITY})
使用此公式,您可以计算资产的价值。如果“负债”和“权益”字段的值分别为 100000 和 10000,则资产的价值为 110000。
日期和时间函数
DATETIME_DIFF(date1,date2,'units')
返回两个指定日期之间的差值(以指定单位表示)。
示例:DATETIME_DIFF({DATE},TODAY(),'DAYS')
使用此公式,您可以计算两个给定日期之间的差值。如果给定日期为 2019 年 7 月 15 日,当前日期为 2019 年 7 月 20 日,指定单位为“天”,则输出结果为 5 天。要将日期值作为参数传递,必须将其括在单引号中。支持的日期格式为 mm-dd-yyyy。
DAY(date)
返回给定日期参数的日期值,以 1 至 31 之间的数字表示。
示例:DAY({COMPLETION DATE})
使用此公式,您可以找到给定日期的日期值。如果给定日期为 2019-07-15,则输出为 15。要将日期值作为参数传递,必须将其括在单引号中。支持的日期格式为 mm-dd-yyyy。
HOUR(DateTime)
返回给定日期参数的小时值,范围从 0(上午 12:00)到 23(晚上 11:00)。
示例:HOUR('07-12-2019 12:45 PM')
要将日期/时间值作为参数传递,必须将其括在单引号中。支持的日期和时间格式为 mm-dd-yyyy 和 hh:mm。
MINUTE(DateTime)
返回给定日期参数的分钟值,范围从 0 到 59。
示例:MINUTE('07-12-2019 12:45 PM')
要将日期/时间值作为参数传递,必须将其括在单引号中。支持的日期和时间格式为 mm-dd-yyyy 和 hh:mm。
MONTH(Date)
以 1 到 12 之间的数字形式返回给定日期的月份。
示例:MONTH('07-23-2019')
要将日期值作为参数传递,必须将其括在单引号中。支持的日期格式为 mm-dd-yyyy。
NOW()
返回当前日期和时间。
示例:NOW()
TODAY()
返回今天的日期和时间,即凌晨 12:00。
示例:TODAY()
FROMNOW(date)
计算当前日期与另一个日期之间的天数。
示例:FROMNOW({START DATE})
如果当前日期为 2019 年 7 月 20 日,开始日期为 2019 年 7 月 15 日,则输出为 5 天。要将日期值作为参数传递,必须将其括在单引号中。支持的日期格式为 mm-dd-yyyy。
WEEKNUM(date)
返回给定日期参数的当前周值。
示例:WEEKNUM({DUE DATE})
如果到期日为 2019 年 7 月 15 日,则输出周数为 29。要将日期值作为参数传递,必须将其括在单引号中。支持的日期格式为 mm-dd-yyyy。
YEAR(date)
返回给定日期参数的年份。
示例:YEAR({COMPLETED DATE})