2.4. 框表达式中的 DMN 决策逻辑


DMN 中的方框表达式是您用来在决策要求图(DRD)中定义决策节点和业务知识模型的底层逻辑。某些框表达式可以包含其他框表达式,但顶级表达式对应于单个 DRD 工件的决策逻辑。DRD 代表 DMN 决策模型的流,但框表达式定义单个节点的实际决策逻辑。DRD 和方框表达式一起形成完整的功能 DMN 决策模型。

以下是 DMN 框表达式的类型:

  • 决策表
  • 字面表达式
  • context
  • 关系
  • Functions
  • 调用
  • list
注意

Red Hat Process Automation Manager 在 Business Central 中提供框列表表达式,但支持 FEEL 列表 数据类型,您可以在框的字面表达式中使用。有关 Red Hat Process Automation Manager 中 列表 数据类型和其他 FEEL 数据类型的更多信息,请参阅 第 2.3.1 节 “FEEL 中的数据类型”

您用来在框表达式中使用的所有 Friendly Enough Expression Language (FEEL)表达式都必须符合 OMG Decision Model 和 Notation 规范中的 FEEL 语法要求。

2.4.1. DMN 决策表

DMN 中的决策表是以 tabular 格式的一个或多个新规则的可视化表示。您可以使用决策表为在决策模型中给定点应用这些规则的决策节点定义规则。每个规则都由表中的一行组成,并包含该特定行定义条件(输入)和结果(输出)的列。每行的定义足以使用条件值生成结果。输入和输出值可以是 FEEL 表达式或定义的数据类型值。

例如,以下决策基于定义的 Lan applicant 的信信分数评级来确定信信分数评级:

图 2.3. 信用卡分数评级的决策表

以下决策表根据 applicant loan eligibility 和 bureau 调用类型,决定 applicants 的 Lending 策略中的下一步:

图 2.4. Lending 策略的决策表

以下决策表决定将 loan 作为协调决策模式的共识决定:

图 2.5. loan prequalification 的决策表

决策表是建模规则和决策逻辑的常用方法,用于许多公司(如 DMN)以及实施框架(如 dols)。

重要

Red Hat Process Automation Manager 支持 DMN 决策表和 dros 原生决策表,但它们具有不同语法要求的不同类型资产,且不可互换。有关 Red Hat Process Automation Manager 中的 dros 原生决策表的更多信息,请参阅使用电子表格决策表设计决策服务

2.4.1.1. 在 DMN 决策表中按策略

按策略决定在决策表中的多个规则与提供的输入值匹配时如何达到结果。例如,如果一个规则在决策表中应用了一个销售活动,而另一个规则则适用于领导人员,那么当客户同时是面和站时,决策表命中策略必须指示是否应用一个部门,或者另一个(唯一 )或两个公司(Collect Sum)。您可以指定决策表左上角的点击策略(美国FC+)的单个字符。

DMN 支持以下决策表命中策略:

  • unique (U): 仅保留一个要匹配的规则。任何重叠都会引发错误。
  • any (A): 查找要匹配的多个规则,但它们都必须具有相同的输出。如果多个匹配规则没有相同的输出,则会引发错误。
  • 优先级(P): 使多个规则匹配,具有不同输出。选择输出值列表中的第一个输出。
  • first (F): 按规则顺序使用第一个匹配项。
  • 收集(C+、C>、C<、C114): 基于聚合功能从多个规则 Aggregates 输出。

    • collect (C): 在任意列表中 Aggregates 值。
    • 收集 Sum (C+): 输出所有收集的值的总和。值必须是数字。
    • collect Min (C&lt;):输出匹配项中的最小值。生成的值必须相似,如数字、日期或文本(字典顺序)。
    • collect Max (C&gt;):输出匹配项中的最大值。生成的值必须相似,如数字、日期或文本(字典顺序)。
    • 收集计数(C114): 输出匹配规则的数量。

2.4.2. 方框的字面表达式

DMN 中的方框字面表达式是一个字面 FEEL 表达式,作为表单元中的文本,通常具有标记列和分配的数据类型。您可以使用方框的字面表达式来定义简单或复杂的节点逻辑,或者直接在 FEEL 中定义决策中特定节点的决策数据。字面 FEEL 表达式必须符合 OMG Decision Model 和 Notation 规格中的 FEEL 语法要求。

例如,以下框的字面表达式在 Lending 决策中定义最低可接受的 PITI 计算(principal、Oidanting、加利和指导),其中 可接受的率 是 DMN 模型中定义的变量:

图 2.6. 最小 PITI 值的方框字面表达式

以下框的字面表达式根据其分数(如年龄、位置和感兴趣的标准)将可能评估候选者(soul mates)按其分数划分在在线评估应用程序中的列表:

图 2.7. 用于匹配在线评估候选者的方框字面表达式

2.4.3. 框的上下文表达式

DMN 中的方框上下文表达式是一组带有结果值的变量名称和值。每个名称-值对都是上下文条目。您可以使用 context 表达式来表示决策逻辑中的数据定义,并为 DMN 决策模型中的所需决策元素设置值。框上下文表达式中的值可以是数据类型值或 FEEL 表达式,也可以包含任何类型的嵌套子表达式,如路由表、字面表达式或其他上下文表达式。

例如,以下框上下文表达式根据定义的数据类型(tPassengerTable,tFlightNumberList)定义在 flight-rebooking 决策模型中排序延迟传递器的因素:

图 2.8. 用于 flight passenger waiting list 的方框上下文表达式

以下框上下文表达式定义了因素,决定 loan applicant 是否可以满足基于主体、感兴趣的、参与和过期(PITI)的最小电池付款(PITI),以带有子上下文表达式的前端比率计算表示:

图 2.9. 用于前端客户端 PITI 比率的方框上下文表达式

2.4.4. 框关系表达式

DMN 中的框关系表达式是一个传统数据表,其中包含给定实体的信息,被列为行。您可以使用框关系表来定义特定节点的决策中相关实体的决策数据。框关系表达式与设置变量名称和值的上下文表达式类似,但关系表达式不包含结果值,并根据每个列中定义的变量列出所有变量值。

例如,以下框关系表达式提供了员工在员工自己的决定方面的信息:

图 2.10. 带有员工信息的框关系表达式

2.4.5. 框函数表达式

DMN 中的框函数表达式是一个参数化表达式,其中包含字面 FEEL 表达式、外部 JAVA 或 PMML 函数的嵌套上下文表达式或任何类型的嵌套框表达式。默认情况下,所有业务知识模型都定义为开箱即用的功能表达式。您可以使用方框的功能表达式来调用决策逻辑上的功能,并定义所有业务知识模型。

例如,以下框函数表达式决定 flight-rebooking strategy 模型中的 airline flight 容量:

图 2.11. 用于 flight 容量的框功能表达式

以下框函数表达式包含一个基本的 Java 功能,作为在决策模型计算中确定绝对值的上下文表达式:

图 2.12. 用于绝对值的方框函数表达式

以下框函数表达式决定在许可决策中作为业务知识模型的每月安装,其函数值定义为嵌套上下文表达式:

图 2.13. 在业务知识模型中安装计算的框函数表达式

以下框的功能表达式使用 DMN 文件中包含的 PMML 模型来定义 Lending 决策中的最低可接受的 PITI 计算(principal、相关的、参与和过期):

图 2.14. 在业务知识模型中带有包含的 PMML 模型的方框函数表达式

2.4.6. 框的调用表达式

DMN 中的方框调用表达式是一个框表达式,用于调用企业知识模型。框的调用表达式包含要调用的业务知识模型的名称和参数绑定列表。每个绑定都由一行上的两个框表达式表示:左侧的框包含一个参数名称,右侧的框包含其值分配给参数的绑定表达式,以评估调用的业务知识模型。您可以使用方框调用在决策模型中定义的业务知识模型调用特定的决策节点。

例如,以下的调用表达式调用 Reassign Next Passenger Business 知识模型,来作为 flight-rebooking 决策模型中的协调节点:

图 2.15. 框调用表达式来重新分配 flight passengers

以下框的调用表达式调用 InstallmentCalculation Business 知识模型,以便在继续实现决策前为 loan 计算每月安装量:

图 2.16. 为所需的每月安装提供框调用表达式

2.4.7. 框列表表达式

DMN 中的框列表表达式代表 FEEL 项目列表。您可以使用方框列表来定义决策中特定节点的相关项目列表。您还可以将字面 FEEL 表达式用于列出单元格中的项目,以创建更复杂的列表。

例如,以下框列表表达式标识了 Lan 应用程序决策服务的批准的信用卡机构:

图 2.17. 批准信用卡机构的框列表表达式

以下框列表表达式还标识批准的信分数机构,但使用 FEEL 逻辑来定义基于 DMN 输入节点的过期状态(Inc.、LLC、SA、GA):

图 2.18. 使用 FEEL 逻辑进行批准的信分数状态的框列表表达式

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat