第 28 章 指导决策表中的列类型
指导决策表的 Add a new 列 向导提供了以下列选项。(选择 Include advanced options 来查看所有选项。)
这些列类型和 Add a new 列向导中每个列 所需的参数在后续小节中进行了描述。
本节中描述的一些列参数(如事实模式和字段)提供仅包含已找到指导决策表的同一软件包中已定义的数据对象的下拉列表选项。软件包的可用数据对象列在 Project Explorer 的 Data Objects 面板中,并在指导决策表设计器的 Data Objects 选项卡中列出。您可以根据需要在软件包中创建附加数据对象,或者在指导决策表设计器的 Data Objects
28.1. "add a Condition" 复制链接链接已复制到粘贴板!
条件代表规则左侧的"WHEN"部分中定义的事实模式。使用此列选项,您可以定义一个或多个 condition 列,来检查是否存在带有特定字段值的数据对象,以及这会影响规则的操作("THEN")部分。您可以在 condition 表中为事实定义绑定,或者选择一个之前已定义的绑定。您还可以选择对模式进行优化。
规则条件示例
when
$i : IncomeSource( type == "Asset" ) // Binds the IncomeSource object to the $i variable
then
...
end
when
not IncomeSource( type == "Asset" ) // Negates matching pattern
then
...
end
指定绑定后,您可以定义字段约束。如果使用相同的事实模式绑定定义了两个或多个列,则字段约束会成为同一模式的复合字段约束。如果您为单个模型类定义了多个绑定,每个绑定都会成为规则条件("WHEN")侧的独立模型类。
所需的列参数
Add a new column 向导中需要以下参数来设置此列类型:
-
Pattern : 从表中条件中使用的事实模式列表中选择,或创建新的事实模式。事实模式是软件包中可用数据对象的组合(请参阅所需数据 对象的备注 )以及您指定的模型类绑定。(示例:
LoanApplication [application]或IncomeSource [income],其中括号部分是绑定到给定事实类型的绑定) -
入口点 : 定义事实模式的入口点(如果适用)。入口点是事实进入决策引擎的最低要求或流(如果指定)。(示例:
Application Stream,Credit Check Stream) 计算类型 : 选择以下计算类型之一:
- literal value : 单元中的值将使用 operator 与字段进行比较。
- 公式: 将评估单元格中的表达式,然后与字段进行比较。
-
predicate: 不需要字段;表达式将评估为
true或false。
-
字段 : 从之前指定的事实模式中选择一个字段。字段选项在项目的 Data Objects 面板中的 fact 文件中定义。(示例:
LoanApplication事实类型中的数量或长度字段) -
binding (可选): 根据需要为之前选择的字段定义绑定。(例如:对于模式
LoanApplication [application], fieldamount, 和等于,如果绑定被设置为$amount,则结束条件将是应用程序 : LoanAppplication ($amount : number == [value]).) - Operator: 选择要应用到之前指定的事实模式和字段的 Operator。
-
value list (可选): 输入以逗号和空格分隔的值选项列表,以限制规则的条件"WHEN")部分的表输入数据。当定义了这个值列表时,该值将在该列的表中作为下拉列表提供,用户只能选择一个选项。(示例列表:
周三,周三,仅指定这三个选项) -
默认值(可选): 选择之前定义的值选项之一作为默认值,该值将自动出现在新行中。如果没有指定默认值,表单元将默认为空。您还可以从项目中任何配置的数据枚举中选择一个默认值,在 Project Explorer 的 Enumeration Definitions 面板中列出。(您可以在 Menu
Design Projects [select project] Add Asset Enumeration 中创建枚举。) - header (description): 为列添加标头文本。
- hidden 列 : 选择此项来隐藏列,或清除此项以显示列。
28.1.1. 在状况列单元中插入任何其他值 复制链接链接已复制到粘贴板!
对于指导决策表中的简单条件列,如果设置了以下参数,您可以对列中的表单元应用 任何其他值 :
-
条件列的 计算类型 已设置为
Literal 值。 -
Operator 已设置为 equality
==或 inequality!=。
任何其他值 可让为表中尚未明确定义的任何其他字段值定义一个规则。在 DRL 源中,任何其他 都 没有包括在 中。
没有用于任何其他 规则 条件的示例
when
IncomeSource( type not in ("Asset", "Job") )
...
then
...
end
�程
-
选择使用
==或!=运算符的条件列的单元。 -
在表设计器右上角,点击 Edit
Insert "any other" 值。