公式自定义字段

公式自定义字段

公式字段将根据指定字段的值或公式中给出的数字、文本或日期值自动计算并导出其值。您可以使用数字、逻辑、日期/时间和文本函数等函数,通过公式自定义字段。要创建公式,请选择函数并传递任意参数,例如数字、日期、时间、现有字段、自定义字段和文本字符串。您可以根据函数及其传入的参数设置每个公式的返回类型。此外,您还可以使用数字和逻辑运算符来创建公式。




 

优势:

  • 从其他字段提取数据以获取结果

  • 自动执行复杂计算

  • 创建自定义公式字段


创建公式自定义字段

  1. 点击顶部导航栏右上角的

  2. 导航至“自定义”>“布局和字段”>“任务”

  3. 点击布局以添加新的公式自定义字段。

  4. 将公式字段从“新建字段”托盘拖放到布局编辑器(主面板)中。

  5. 命名公式字段。

  6. 选择一个函数来创建公式。点击此处查看函数和运算符列表。

  • 您可以将默认字段、自定义字段、数值、日期值、文本字符串等作为参数传递给函数。

  • 您可以在公式表达式中使用数值和逻辑运算符。

  1. 设置公式输出值的返回数据类型。但是,一旦字段保存到布局中,您将无法修改返回类型。

  2. 点击“添加布局”以将字段添加到布局中。如果单击“取消”,则该字段将永远不会存储在任何位置。

 



返回数据类型

公式的返回类型决定了您希望从公式返回的数据类型。

 

  • 单行文本:返回最多 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})

如果完成日期为 2019 年 7 月 15 日,则输出为 2019。要将日期值作为参数传递,必须将其括在单引号中。支持的日期格式为 mm-dd-yyyy。