添加集合属性

属性是用户定义的字段,它们由管理员集中定义并在多个位置使用。您可以为属性指定不同的值类型:日期、日期和时间、列表、数字、文本以及 True 或 False。

对于集合,您可以为数据收集期间添加日期计算属性,例如“开始日期”和“结束日期”。您还可以在现有数据表单上持久保留历史维属性值。

要添加集合属性:

  1. 在主页上,依次单击应用程序补充数据
  2. 单击左侧的集合选项卡。
  3. 选择集合,然后单击编辑。将显示“编辑集合”窗口。
  4. 单击属性选项卡。此时将显示以下列:
    • 键标识符:指示属性是否为键标识符。如果此集合没有数据,您可以修改键标识符和属性。

      注:

      • 默认情况下,实体的键标识符分配工作流复选框选项处于选中状态。在添加属性时,可以选择一个或多个属性作为键标识符。
      • Supplemental Data Manager 不支持将“计算”类型的属性作为键标识符属性。如果您选择此类属性作为键标识符,则可能会在集合中遇到意外行为和错误。
    • 分配工作流:显示在收集间隔中定义的工作流。此项不可编辑。
    • 持久保留:指示维属性的值是否应该在引用的表单中持久保留。此列仅适用于“维引用”类型的属性。
    • 名称:属性的名称。
    • 维名称:此列仅适用于维属性,并提供了维名称。
    • 属性类型(当存在属性时显示):指示属性的类型:
      • 输入
      • 维引用
      • 计算
    • 数据类型:日期、日期和时间、整数、列表、多行文本、数字、文本、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. 单击第一行中的列以显示下拉列表,您可以在其中选择运算符,并相应地输入值 1值 2
    3. 如果需要第二个条件,请单击添加以添加另一行。
    4. 单击第二行中的列以显示下拉列表,您可以在其中选择连接词,例如/
    5. 单击确定保存条件。
  6. 如果您选择了计算选项(步骤 1),则可以在计算选项卡上添加计算。选择计算类型
    • 将值分配给列表:选择关联的属性
    • 条件:为计算定义添加条件。
    • 脚本形式:提供计算定义,并选择属性和函数。
  7. 要添加计算表达式,请指定一种数据类型和计算类型(如下表中所述)。

    表 46-3 数据类型和计算类型

    在“属性”选项卡上选择的数据类型 计算类型 说明
    适用于所有数据类型 选择将值分配给列表,然后选择属性值。

    必须已保存列表属性值。

    基于分配给列表成员的值返回属性值。
    适用于所有数据类型 条件 对于给定的属性,如果满足指定的条件,则返回属性值 A。如果未满足条件,则返回属性值 B。
    列表 将列表分配给值 基于属性的值,返回列表中的相关成员。
         
         
         
    整数、数字、文本 脚本形式

    请参阅“脚本形式函数

    自由形式的脚本计算。脚本形式适用于整数、多行文本、数字或文本类型的属性。
  8. 单击确定保存该属性。

    注:

    对属性的更改将仅应用于后续的数据收集期间。

脚本形式函数

  • 绝对值:返回指定数字的绝对值。如果数字小于零,则返回其正值。如果指定数字等于或大于零,则返回指定数字。

    ABS(<Number>)

  • 添加月:返回与开始日期相差指定月数的日期。该日期始终处于指定的偏差月内。如果开始日期所在的那一天超过了偏差月中的最后一天,则将使用偏差月的最后一天。例如,EDate (31-Jan-2017, 1) 返回 (28-Feb-2017)。对于 Months,输入开始日期之前或之后的月数。月数为正值将产生将来的日期。负值将产生过去的日期。

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

    示例: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')))
    
  • Length:接受文本值作为参数,并返回表示文本中的字符数的整数。如果值为空/null,则计算将返回 0。

    Length ({<attribute>})

    示例:LENGTH('Value') 将返回 5,LENGTH({Name}) 将返回对象名称中的字符数。

    可将该计算与 SUBSTRING 结合使用来提取文本值的最后四个字符。

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

    示例: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 of Periods>)

    示例:MIN_PRIOR( {Source System Balance (Functional)}, '6', 'EUR', 'Simplified')

  • :以整数返回日期所在的月份 (1-12)

    MONTH (<DATE>)

  • :将一个数提升为另一个数的指数幂。

    POWER(x,y),其中 x=基数,y=指数,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 作为键标识符

    TextInput输入作为属性类型,数据类型文本

  2. 保存数据。
  3. 创建一个名为 TextCalc 的属性,属性类型为计算数据类型为“文本”。
  4. 计算选项卡上,指定以下字段:
    • 计算类型:选择脚本形式
    • 添加函数:选择 TextLocation,然后单击添加

      INSTRING(<Value>, <Value To Search>) 将添加到“计算定义”。

    • 单击 <Value>,然后输入一个值(用单引号括起来,该值区分大小写),或者在添加属性中选择 TextInput 属性,然后单击添加

      <Value> 将更改为 {TextInput}

    • <Value to Search> 替换为 'tion'

      注意:确保将 <xxx> 替换为单引号:'xxx'。例如,INSTRING({TextInput}, 'tion')

  5. 单击确定保存该属性。

从维添加属性

在“从维添加属性”窗口中:

  1. 选择
  2. 可用属性列表中选择属性并将其移动到选定的属性列表中。

    系统将包含维的键属性作为选定属性。您无法清除键属性。

  3. 单击确定

    “从维添加属性”窗口将关闭,所选属性将显示在“编辑集合”窗口中。

  4. 您可以选中持久保留列中的复选框,指示属性值应在引用的表单中持久保留。如果更新了维属性,则不会在引用该属性的表单中更新更改。如果不选中此复选框,则引用的属性将根据最新的更改进行更新。保存集合后,此设置无法更改。
  5. 单击保存保存并关闭