新增收集屬性

屬性是由管理員集中定義並用於許多地方的使用者定義欄位。您可以為屬性指定不同的值類型:「日期」、「日期和時間」、「清單」、「數字」、「文字」及「True 或 False」。

對於收集,您可以新增日期計算屬性,例如資料收集期間的「開始日期」和「結束日期」。您也可以保存現有資料表單上的歷史維度屬性值。

若要新增收集屬性,請執行下列動作:

  1. 在「首頁」上,按一下應用程式,然後按一下補充資料
  2. 按一下左邊的收集頁籤。
  3. 選取收集,然後按一下編輯。隨即顯示「編輯集合」視窗。
  4. 按一下「屬性」頁籤。它會顯示下列欄:
    • 鍵 ID:指出屬性是否為鍵 ID。如果此收集沒有資料存在,您可以修改鍵 ID 和屬性。

      註:

      • 預設會為「實體」選取鍵 ID指派工作流程核取方塊選項。當您新增屬性時,您可以選取一或多個屬性作為「鍵 ID」。
      • 「補充資料管理程式」不支援使用「已計算」類型屬性作為「鍵 ID」屬性。如果您選取此類型的屬性作為「鍵 ID」,則您的收集中可能會發生未預期的行為和錯誤。
    • 指派工作流程:顯示收集間隔中定義的工作流程。此項目不可編輯。
    • 保存:指出是否應該在參照的表單中保存維度屬性的值。此欄僅適用於「維度參照」類型的屬性。
    • 名稱:屬性的名稱。
    • 維度名稱:此欄僅適用於維度屬性,並提供維度名稱。
    • 屬性類型 (如果有現有屬性則會顯示):指出屬性的類型:
      • 輸入
      • 維度參照
      • 已計算
    • 資料類型:日期、日期和時間、整數、清單、多行文字、數字、文字、True/False 或是/否
    • 總計:可讓您指定屬性的總計方法:
      • 總和:相加總計
      • 平均:具有資料之列的平均。沒有資料的列不會計入分母中。
      • 計數:有資料的列數
      • :不計算總計
  5. 按一下新增圖示,然後按一下下列其中一項:

新增集合屬性

新增集合屬性:

  1. 在「建立新屬性」視窗中,在特性頁籤上指定下列選項:
    • 名稱:輸入屬性的名稱。最多可輸入 80 個字元。
    • 描述:輸入描述。最多可輸入 255 個字元。
    • 選取輸入已計算選項作為屬性類型。

      輸入為預設值,而且會啟用驗證頁籤。對於已經開放的期間及已經建立的表單例項,不適用所修改的驗證規則。進行的變更僅適用於新表單例項。

      若選取已計算,則會啟用計算頁籤。

      註:

      一旦選取輸入已計算並儲存屬性,就無法在建立屬性之後變更此設定值。變更屬性類型會置換先前指定的驗證或計算。
    • 資料類型:選取下列其中一個項目以作為資料類型。選取資料類型之後,您也可以選取必要和/或使用值選項。
      • 日期
      • 日期時間
      • 整數
      • 清單:按一下新增並輸入屬性的值。相對於收集,清單屬於本機,無法在其他收集之間共用。
      • 多行文字:若選取此選項,請選取行數 (3 到 50 行之間)。預設值為 3。「多行文字」決定「動作」對話方塊在不捲動的情況下可在表單看見的文字行數。最大長度必須是 2000 個字元。然而,文字區的寬度保持不變。

        若要強制在「資料類型」輸入值,請選取必要核取方塊。若選取使用值核取方塊,則您為行數輸入的值在這裡也會預設為適用。超出的範圍則會成為捲動文字。

      • 數字:選取此選項以指定格式化選項。這將會置換系統設定偏好設定區段中的預設設定值。

        註:

        針對此屬性您只能輸入數值。
        • 小數位數:輸入要顯示的小數位數。
        • 顯示為百分比:顯示百分比符號。
        • 使用千分位分隔符號:顯示千分位分隔符號 (例如 1,000.00)。系統顯示會顯示使用者地區設定的千位分隔符號。
        • 幣別:選取幣別。
        • 負數格式:選取顯示負數的格式。
        • 比例:設定數字比例。範圍介於 1000 到 1000000000000 之間。
      • 文字:輸入最多 255 個字元
      • True/False
      • 是/否
    • 必要:如果為必要屬性,您必須在資料輸入期間在此欄位中輸入值。
    • 使用值:如果指定此值,系統會將設計人員輸入的值套用至使用者建立的任何記錄。您可以在資料輸入期間變更預設值。
  2. 按一下確定儲存屬性。「建立新屬性」視窗會關閉。
  3. 在「編輯集合」視窗中,按一下儲存以儲存集合。

    註:

    您必須儲存新屬性與集合。只有在這樣做之後,您才能存取屬性的驗證頁籤或計算頁籤。
  4. 選取您建立的屬性,然後按一下編輯圖示。

    隨即顯示「編輯屬性」視窗。

  5. 若您已選取輸入選項 (步驟 1),則可以在驗證頁籤中新增條件表示式:
    1. 按一下新增。表格中會新增一列。
    2. 按一下第一列內的欄以顯示下拉清單,並選取運算子,然後相應地輸入Value1Value2
    3. 若您需要第二個條件,請按一下新增以新增另一列。
    4. 按一下第二列中的欄以顯示下拉清單,然後選取結合,例如
    5. 按一下確定以儲存條件。
  6. 若您已選取已計算選項 (步驟 1),則可以在計算頁籤上新增計算。選取計算類型
    • 將值指派給清單:選取相關聯的屬性
    • 條件:新增計算定義的條件。
    • 已撰寫指令碼:提供計算定義並選取屬性與函數。
  7. 若要新增計算表示式,請依照下表所述指定資料類型和計算類型。

    表格 43-2 資料類型與計算類型

    在特性頁籤上選取的資料類型 計算類型 描述
    對於所有資料類型 選取將值指派給清單,然後選取屬性值。

    您必須儲存「清單」屬性值。

    根據對「清單」成員的指派傳回屬性值。
    對於所有資料類型 條件 對於指定的屬性,如果符合指定的條件則傳回屬性值 A。如果不符合條件,則傳回屬性值 B。
    清單 將清單指派給值 根據屬性值,從清單傳回相關成員。
         
         
         
    整數、數字、文字 已撰寫指令碼

    請參閱指令碼函數

    任意格式指令碼計算。「整數」、「多行文字」、「數字」或「文字」類型的屬性可以使用指令碼。
  8. 按一下確定儲存屬性。

    註:

    屬性變更僅適用於後續資料收集期間。

指令碼函數

  • 絕對值:傳回指定數字的絕對值。如果數字小於零,則會傳回該數字的正值。如果指定的數字等於或大於零,則會傳回指定的數字。

    ABS(<Number>)

  • 新增月:傳回日期偏移,即從開始日期算起的指定月數。日期將一律落在指定的月份偏移中。如果開始日期不在偏移月份的日期值之內,將會使用偏移月份的最後一天。例如,EDate (31-Jan-2017, 1) 會傳回 (28-Feb-2017)。對於月份,請輸入開始日期之前或之後的月數。正值月份會產生未來日期。負值會產生過去的日期。

    ADD_MONTH(<Start Date>, <Months>, <Length>)

    範例:ADD_MONTH(DATE(2017, 2, 15) 3)

  • 前期平均值:計算前 X 期數值金額的平均值。

    AVERAGE_PRIOR(<Value>, <Number of Periods>, <To Currency*>

    範例:AVERAGE_PRIOR( {Balance (Reporting)}, '2', 'EUR'

  • 日期:傳回以指定的年、月和日整數值為基礎的日期值。

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

  • 日期差異:傳回兩個日期之間的天數、時數、分鐘數或秒數差異。對於 DATE 1 和 DATE 2,可使用值 TODAY 和 NOW,分別代表目前的日期 (不含時間元素) 和日期時間。

    DATE_DIFF(<Date1>, <Date2>, <Type>)

    範例:DATE_DIFF('TODAY', {Preparer End Date}, 'DAYS') or DATE_DIFF({Preparer End Date}, 'NOW', 'HOURS')

  • :以整數傳回日期的天數值

    DAY(<DATE>)

  • 擷取文字:傳回值內從指定的位置開始的子字串。

    SUBSTRING(<Value>, <Location>, <Length>)

    Example: 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')))
    
  • 長度:使用文字值作為參數並傳回整數,傳回值為文字的字元數。如果值為空白/空值,計算將傳回 0。

    Length ({<attribute>})

    範例:LENGTH('Value') 將傳回 5,而 LENGTH({Name}) 將傳回物件名稱的字元數。

    下列範例為搭配 SUBSTRING 來使用上述計算作業,以擷取文字值的最後 4 個字元。

    SUBSTRING( {MyString}, LENGTH ({MyString}) - 4

  • 小寫:傳回小寫的值。

    LOWERCASE(<Value>)

    Example: 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>)

    範例:MAX_PRIOR( {Balance (Functional)}, '6', 'CAD', 'REC')

  • 最小值::傳回屬性清單中的最小值。不限參數個數。

    MIN(<Value1>, <Value2>,<ValueN>)

    範例:MIN( TRANSLATE( { Balance (Entered)}, 'CAD', 'REC'), TRANSLATE( {Balance (Functional)}, 'CAD', 'REC'), TRANSLATE( {Balance (Reporting)}, 'CAD', 'REC') )

  • 前期最小值:傳回前 X 期的最小值。

    MIN_PRIOR (<Value>, (<Value>, <Number oMIN_PRIOR( {Source System Balance (Functional)}, '6', 'EUR', 'Simplified')

  • :以整數 (1-12) 傳回日期的月份值

    MONTH (<DATE>)

  • Power:將某個數字提高作為另一個數字的指數次方。

    POWER(x,y) 其中 x=BASE NUMBER 而 y=EXPONENT,而且 x 和 y 可以是屬性或計算,只要它們是數值即可。

    範例:POWER(3,4)=81

    註:

    分數值會將數字約簡至其根。例如,POWER(27, 1/3) = 3 立方根。

    負數值將執行指數計算的倒數。例如,POWER(2, -2) = 1 / (2^2) = 1 / 4 = .25

  • 前期:傳回指定前一期的值。

    PRIOR(<Value>, <Number of Periods Prior>)

    範例:PRIOR( {Source System Balance (Entered)}, '1', 'EUR'')

  • 捨入:傳回四捨五入到指定小數位數的值。

    ROUND(<Value>, <Decimal Places>)

    範例:ROUND( ({Scripted Translate} /7), 4)

  • 前期總和:傳回前 X 期的值總和。

    SUM_PRIOR(<Value>, <Number of Periods>)

    範例:SUM_PRIOR( {Balance (Reporting)}, '3', 'EUR')

  • 文字位置:傳回屬性值內子字串的位置,1 代表開頭位置。

    INSTRING(<Value>, <Value To Search>)

    範例:INSTRING( UPPERCASE( {Name} ), 'TAX' )

  • 轉換:使用指定的匯率類型將幣別屬性轉換為數值屬性。

    TRANSLATE(<Value>, <To Currency>, <Rate Type>)

    範例:TRANSLATE( {Balance (Entered)}, 'EUR', 'Acct')

  • 大寫:傳回大寫的值。

    UPPERCASE(<Value>)

    範例:UPPERCASE( {Name} )

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

    YEAR (<DATE>)

新增計算屬性的範例

  1. 建立具有下列屬性的集合:

    Int1輸入作為屬性類型,且資料類型作為整數。按一下確定,然後從「編輯集合」選取 Int1 作為鍵 ID

    TextInput輸入作為屬性類型,且資料類型作為文字

  2. 儲存資料。
  3. 建立稱為 TextCalc、屬性類型為已計算資料類型為「文字」的屬性。
  4. 計算頁籤上,指定下列項目:
    • 計算類型:選取已撰寫指令碼
    • 新增函數:選取 TextLocation,然後按一下新增

      INSTRING(<Value>, <Value To Search>) 已新增至「計算定義」。

    • 按一下<值> 然後輸入值 (以單引號括住並區分大小寫),或是在新增屬性中,選取「TextInput」屬性,然後按一下新增

      <值> 變更為 {TextInput}

    • <Value to Search> 取代為 'tion'

      注意:請務必將 <xxx> 取代為單引號:'xxx'。例如,INSTRING({TextInput}, 'tion')

  5. 按一下確定 以儲存屬性。

從維度新增屬性

在「從維度新增屬性」視窗中:

  1. 選取維度
  2. 可用的屬性清單中選取屬性,然後將它們移動至選取的屬性清單。

    系統包括維度的鍵屬性作為「選取的屬性」。您無法清除鍵屬性。

  3. 按一下確定

    「從維度新增屬性」視窗會關閉,而且選取的屬性會顯示在「編輯集合」視窗中。

  4. 您可以選取保存欄中的核取方塊,以指出應該在參照的表單中保存屬性的值。若已更新維度屬性,則將不會在參照屬性的表單中更新變更。若未選取此核取方塊,則將會以最新的變更更新參照的屬性。儲存集合之後,就無法變更此設定值。
  5. 按一下儲存儲存並關閉