關於計算屬性

計算屬性是唯讀屬性。

管理員可以將計算屬性新增至「動作」對話方塊的屬性區段,工作流程使用者可在「動作」對話方塊和交易中看到這些屬性。管理員可以將存取權設為「不顯示」,以限制只有特定角色才能存取。以計算屬性 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)。對於月份,請輸入開始日期之前或之後的月數。正值月份會產生未來日期。負值會產生過去的日期。

    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:

    「匯率類型」必須是系統上有效的匯率類型,或者是 'REC' 值,表示指派給調節的匯率類型。「匯率期間」參數必須是 'CURRENT' 或 'PRIOR',表示在轉換幣別時使用目前期間或前一期間的匯率類型。
  • 日期:傳回以指定的年、月和日整數值為基礎的日期值。例如,此函數會建立「日期」類型值,因此 DATE(2018, 5, 31) 會轉換成 2018 年 5 月31 日。這接著可以用在「日期差異」函數中,以提取某個日期 (例如結束日期) 與此特定日期之間的天數差異。

    DATE(<Year>, <Month>, <Day>)

    建立計算資料屬性時,您也可以使用 PERIOD STARTPERIOD ENDPERIOD CLOSE 日期。例如,如果您要比較「調整」交易上的「關閉日期」與「期間結束」日期。

  • 日期差異:傳回兩個日期之間的天數、時數、分鐘數或秒數差異。對於 Date1 和 Date 2,可使用值 '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:

    「匯率類型」必須是系統上有效的匯率類型,或者是 'REC' 值,表示指派給調節的匯率類型。「匯率期間」參數必須是 '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:

    「匯率類型」必須是系統上有效的匯率類型,或者是 'REC' 值,表示指派給調節的匯率類型。「匯率期間」參數必須是 'CURRENT' 或 'PRIOR',表示在轉換幣別時使用目前期間或前一期間的匯率類型。
  • :以整數 (1-12) 傳回日期的月份值

    MONTH (<DATE>)

  • 次方:將某數乘以另一數的冪次

    POWER(x,y) where x=BASE NUMBER,and y=EXPONENT,而且 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:

    「匯率類型」必須是系統上有效的匯率類型,或者是 'REC' 值,表示指派給調節的匯率類型。「匯率期間」參數必須是 '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:

    「匯率類型」必須是系統上有效的匯率類型,或者是 'REC' 值,表示指派給調節的匯率類型。「匯率期間」參數必須是 '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:

    「匯率類型」必須是系統上有效的匯率類型,或者是 'REC' 值,表示指派給調節的匯率類型。
  • 大寫:傳回大寫的值。

    UPPERCASE(<Value>)

    範例:UPPERCASE( {Name} )

  • :以整數傳回日期的年度值。

    YEAR (<DATE>)