计算属性是只读属性。
管理员可以在“操作”对话框中向属性部分添加计算属性,工作流用户可以在操作对话框和事务中查看属性。管理员可以将访问权限设置为“不显示”,从而将访问权限只给予某些角色。例如,对于计算属性 XYZ,管理员可以为其添加“查看者: 不显示”访问权限,这样,XYZ 便不会显示给查看者。
任何用户角色均可在视图和列表中将计算属性添加为列。此外,也可以在“筛选器”面板中将它们添加为可筛选属性。
下表列出了选择了“计算”选项时各种属性类型可使用的计算类型:
Table 4-1 当选择了“计算”选项时每个属性类型可以使用的计算类型
属性类型 | 将值分配给列表 | 条件 | 脚本形式 | 将列表分配给值 |
---|---|---|---|---|
日期 | X | |||
日期/时间 | X | |||
整数 | X | X | X | |
列表 | X | X | ||
多行文本 | X | X | X | |
数字 | X | X | X | |
文本 | X | X | X | |
True/False | X | |||
用户 | ||||
是/否 | X |
脚本形式函数示例
对于所有数字函数,在计算结果时将忽略输入中的任何空值。
添加月:返回与开始日期相差指定月数的日期。该日期始终处于指定的偏差月内。如果开始日期所在的那一天超过了偏差月中的最后一天,则将使用偏差月的最后一天。例如,EDate (31-Jan-2017, 1) 返回 (28-Feb-2017)。对于 Months,输入开始日期之前或之后的月数。月数为正值将产生将来的日期。负值将产生过去的日期。
EDate(<Start Date>, <Months>, <Length>)
示例:EDate(DATE(2017, 2, 15) 3)
先前期间的平均值函数:计算前 X 个期间的数字金额平均值。
AVERAGE_PRIOR(<Value>, <Number of Periods>, <To Currency*>, <Rate Type*>, <Rate Period*>
示例:AVERAGE_PRIOR( {Source System Balance (Reporting)}, '2', 'EUR', 'REC')
Note:
如果值是余额类型的属性(如源系统),则带星号 * 的参数是必需的。如果值是一般值(如数字属性),则忽略带 * 的参数。Note:
Rate Type 必须是系统中的有效汇率类型,或者为值 "REC"(表示使用分配给调节的汇率类型)。Rate Period 参数必须是 "CURRENT" 或 "PRIOR",表示在兑换货币时使用当前期间或前一期间的汇率类型。日期:基于在年、月和日指定的整数值返回日期值。例如,此函数创建日期类型的值,所以 DATE(2018, 5, 31) 将转换为 2018 年五月 31 日。然后,此项可用于日期差额函数,以拉取某个日期(例如结束日期)与此特定日期之间的天数差。
DATE(<Year>, <Month>, <Day>)
此外,在创建计算数据属性时,还可以使用期间起始日期
、期间结束日期
或期间关闭日期
。例如,您希望比较调整事务的关闭日期与期间结束日期。
日期差额:返回两个日期之间相差的天数、小时数、分钟数或秒数。对于 Date1 和 Date2,可使用值 'TODAY' 和 'NOW',它们分别表示当前的日期(不含时间组件)和日期时间。
有效类型为 DAYS、HOURS、MINUTES、SECONDS。DATE_DIFF(<Date1>, <Date2>, <Type>)
示例:DATE_DIFF('TODAY', {Preparer End Date}, 'DAYS') 或 DATE_DIFF({Preparer End Date}, 'NOW', 'HOURS')
天:以整数返回日期所在的那一天
DAY(<DATE>)
提取文本:返回值中自指定位置起的子字符串。“提取文本/文本位置”使用值 1 表示第一个字符。
SUBSTRING(<Value>, <Location>, <Length>)
示例:SUBSTRING( {Name} , 5, 10)
If Then Else:允许用户将条件计算插入脚本形式的计算中。还可以嵌套 IF_THEN_ELSE 计算以支持 "ELSE IF" 类型的计算。
IF_THEN_ELSE(<Condition>, <Value1>, <Value2>)
示例:
IF_THEN_ELSE( {Risk Rating} = 'Low', 'Good', IF_THEN_ELSE( {Risk Rating} = 'Medium', 'Better', IF_THEN_ELSE({Risk Rating} = 'High', 'Best','Bad')))
Instring:返回值中子字符串的索引。
INSTRING(<Value1>, <Value to Search>)
示例:INSTRING({Name}, 'a')
长度:接受文本值作为参数,并返回整数,即文本中的字符数。
LENGTH('Value')
返回 5,LENGTH({Name}) 将返回对象名称中的字符数。如果值为空,则计算将返回 0。
使用 SUBSTRING 计算提取文本值的最后 4 个字符。
示例:SUBSTRING( {MyString}, LENGTH ({MyString}) - 4
小写:返回小写形式的值。
LOWERCASE(<Value>)
示例:LOWERCASE( {Description} )
最大值:返回属性列表中的最大值。可以包含任意数量的参数。
MAX(<Value1>, <Value2>,<ValueN>)
示例:MAX( TRANSLATE( {Source System Balance (Entered)}, 'USD', 'Accounting'), TRANSLATE( {Source System Balance (Functional)}, 'USD', 'Accounting'), TRANSLATE( {Source System Balance (Reporting)}, 'USD', 'Accounting') )
先前期间的最大值:返回前 X 个期间的最大值。
MAX_PRIOR (<Value>, <Number of Periods>, <To Currency*>, <Rate Type*>, <Rate Period*>)
示例:MAX_PRIOR( {Source System Balance (Functional)}, '6', 'CAD', 'REC', 'CURRENT')
Note:
如果值是余额类型的属性(如源系统),则带星号 * 的参数是必需的。如果值是一般值(如数字属性),则忽略带 * 的参数。Note:
Rate Type 必须是系统中的有效汇率类型,或者为值 "REC"(表示使用分配给调节的汇率类型)。Rate Period 参数必须是 "CURRENT" 或 "PRIOR",表示在兑换货币时使用当前期间或前一期间的汇率类型。最小值:返回属性列表中的最小值。可以包含任意数量的参数。
MIN(<Value1>, <Value2>,<ValueN>)
示例:MIN( TRANSLATE( {Source System Balance (Entered)}, 'CAD', 'REC'), TRANSLATE( {Source System Balance (Functional)}, 'CAD', 'REC'), TRANSLATE( {Source System Balance (Reporting)}, 'CAD', 'REC') )
先前期间的最小值:返回前 X 个期间的最小值。
MIN_PRIOR (<Value>, <Number of Periods>, <To Currency*>, <Rate Type*>, <Rate Period*>)
示例:MIN_PRIOR( {Source System Balance (Functional)}, '6', 'EUR', 'Simplified')
Note:
如果值是余额类型的属性(如源系统),则带星号 * 的参数是必需的。如果值是一般值(如数字属性),则忽略带 * 的参数。Note:
Rate Type 必须是系统中的有效汇率类型,或者为值 "REC"(表示使用分配给调节的汇率类型)。Rate Period 参数必须是 "CURRENT" 或 "PRIOR",表示在兑换货币时使用当前期间或前一期间的汇率类型。月:以整数返回日期所在的月份 (1-12)
MONTH (<DATE>)
POWER(x,y),其中 x=基数,y=指数
,x 和 y 可以是属性或计算(只要它们是数字)。
示例:POWER(3,4)=81
Note:
分数值将数字还原为其根。例如,POWER(27, 1/3) = 3
,即多维数据集根。Note:
负值将执行指数计算的逆运算。例如,POWER(2, -2) = 1 / (2^2) = 1 / 4 = .25
。先前期间:返回指定先前期间的值。如果省略了先前期间数,则假定值为 1。
PRIOR(<Value>, <Number of Periods Prior*>, <To Currency*>, <Rate Type*>, <Rate Period*>)
示例:PRIOR( {Source System Balance (Entered)}, '1', 'EUR', 'rec', 'prior')
Note:
如果值是余额类型的属性(如源系统),则带星号 * 的参数是必需的。如果值是一般值(如数字属性),则忽略带 * 的参数。Note:
Rate Type 必须是系统中的有效汇率类型,或者为值 "REC"(表示使用分配给调节的汇率类型)。Rate Period 参数必须是 "CURRENT" 或 "PRIOR",表示在兑换货币时使用当前期间或前一期间的汇率类型。舍入:返回舍入到指定小数位数的值。
ROUND(<Value>, <Decimal Places>
)
示例:ROUND( ({Scripted Translate} /7), 4)
先前期间的总和:返回前 X 个期间的值的总和。
SUM_PRIOR(<Value>, <Number of Periods>, <To Currency*>, <Rate Type*>, <Rate Period*>)
示例:SUM_PRIOR( {Source System Balance (Reporting)}, '3', 'EUR', 'REC')
Note:
如果值是余额类型的属性(如源系统),则带星号 * 的参数是必需的。如果值是一般值(如数字属性),则忽略带 * 的参数。Note:
Rate Type 必须是系统中的有效汇率类型,或者为值 "REC"(表示使用分配给调节的汇率类型)。Rate Period 参数必须是 "CURRENT" 或 "PRIOR",表示在兑换货币时使用当前期间或前一期间的汇率类型。文本位置:返回值中子字符串的索引,1 表示第一个位置。
INSTRING(<Value>, <Value To Search>)
示例:INSTRING( UPPERCASE( {Name} ), 'TAX' )
转换:使用指定的汇率类型将货币属性转换为数字属性。
TRANSLATE(<Value>, <To Currency>, <Rate Type>)
示例:TRANSLATE( {Source System Balance (Entered)}, 'EUR', 'Accounting')
Note:
Rate Type 必须是系统中的有效汇率类型,或者为值 "REC"(表示使用分配给调节的汇率类型)。大写:返回大写形式的值。
UPPERCASE(<Value>)
示例:UPPERCASE( {Name} )
年:以整数返回日期所在的年份。
YEAR (<DATE>)