4.2. 在 Business Central 中为 DMN 框表达式创建自定义数据类型


在 Business Central 中的 DMN 框表达式中,数据类型决定了您在框表达式中的关联表、列或字段中使用的数据的结构。您可以使用默认 DMN 数据类型(如字符串、数字、布尔值)或者创建自定义数据类型来指定要为空闲表达式值实施的其他字段和约束。

为框表达式创建的自定义数据类型可以是简单或结构化:

  • 简单 的数据类型只有一个名称和类型分配。示例: 期限(数字)
  • 结构化 数据类型包含多个与父数据类型关联的字段。示例:包含字段名称 (字符串)、Age ( 数字)、电子邮件(字符串) 的单个类型 Person

先决�件

  • 在 Business Central 中创建或导入 DMN 文件。

流程

  1. 在 Business Central 中,进入 Menu Design Projects,点项目名称,然后选择您要修改的 DMN 文件。
  2. 在 DMN Designer canvas 中,选择要为其定义数据类型的决策节点或业务知识模型,然后单击 Edit 图标来打开 DMN 框表达式设计程序。
  3. 如果框表达式适用于尚未定义的决策节点,请单击未定义表来选择您要使用的框表达式类型,如框的字面表达式、框的上下文表达式、决策表或其他 DMN 框表达式。

    图 4.24. 为决策节点选择逻辑类型

    DMN 决策框表达式选项
  4. 点击表标头、列标头或参数字段的单元(取决于您要为其定义数据类型),然后单击 Manage 以进入可用于创建自定义数据类型的数据类型。

    图 4.25. 为列标头值管理数据类型

    DMN 管理数据类型

    您还可以通过选择 DMN 设计器右上角的 Properties 图标来为指定决策节点或业务知识模型节点设置自定义数据类型:

    图 4.26. 在决策要求图(DRD)属性中管理数据类型

    DMN 管理数据类型1a

    您在框表达式中为指定单元定义的数据类型决定了您在该关联表、列或框表达式中使用的数据的结构。

    在本例中,对于 DMN 决策表的输出列 Credit Score Rating 定义了一组基于适用信信的信信分数评级的自定义信分数评级。

  5. Data Types 页面中,点 New Data Type 来添加新数据类型,或者点击 Import Data Object 从您要用作 DMN 数据类型的项目导入现有数据对象。

    如果您从项目导入数据对象作为 DMN 数据类型,然后更新该对象,则必须重新导入数据对象作为 DMN 数据类型,以便在 DMN 模型中应用更改。

    在本例中,点 New Data Type 并创建一个 Credit_Score_Rating 数据类型 作为字符串

    图 4.27. 添加新数据类型

    DMN 自定义数据类型添加

    如果数据类型需要项目列表,请启用 List 设置。

  6. Add Constraints,从下拉菜单中选择 Enumeration,并添加以下限制:

    • "Excellent"
    • "Good"
    • "fair"
    • "Poor"
    • "Bad"

    图 4.28. 在新数据类型中添加限制

    DMN 自定义数据类型约束

    要更改数据类型约束的顺序,您可以点约束行左侧的结尾,并根据需要拖动行:

    图 4.29. 拖动约束以更改约束顺序

    DMN 自定义数据类型约束拖动

    有关指定数据类型的约束类型和语法要求的详情,请参考 决策模型和表示法规格

  7. OK 保存约束,然后点数据类型右侧的检查标记保存数据类型。
  8. 返回到 Credit Score Rating 决策表,点 Credit Score Rating 列标头,将数据类型设置为这个新的自定义数据类型,并使用您指定的 rating 约束定义该列的规则值。

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

    DMN 决策表 example1a

    在这个情境的 DMN 决策模型中,Loan Pre qualification 决定将决策流化成以下 Loan Prequalification 决定,还需要自定义数据类型:

    图 4.31. loan prequalification 的决策表

    DMN 管理数据类型为空
  9. 继续本例,返回到 数据类型 窗口,单击 New Data Type,然后创建一个 Loan_Qualification 数据类型作为无限制的 结构

    保存新的结构化数据类型时,会显示第一个子字段,以便您可以开始在此父数据类型中定义嵌套数据字段。您可以在结构化表达式中使用这些子字段与父结构化数据类型关联,如分区表中的嵌套列标头或上下文或功能表达式中的嵌套表参数。

    对于额外的子字段,请选择 Loan_Qualification 数据类型旁边的添加图标:

    图 4.32. 使用嵌套字段添加新的结构化数据类型

    DMN 管理数据类型
  10. 在本例中,在结构化 Loan_Qualification 数据类型下,添加一个带有 "Qualified""Not Qualified" 枚举约束的 Qualification 字段,以及一个没有限制的 Reason 字段。另外,添加一个简单的 Back_End_Ratio 和 a the the_End_Ratio 数据类型,两者均具有 "Sufficient""Insufficient" 枚举限制。

    点您创建的每种数据类型右侧的检查标记来保存您的更改。

    图 4.33. 使用约束添加嵌套数据类型

    DMN 管理数据类型 structured2

    要更改数据类型的顺序或嵌套的数据类型,您可以点数据类型行的左侧,并根据需要拖动行:

    图 4.34. 拖动数据类型以更改数据类型顺序或嵌套

    DMN 管理数据类型 structured2 拖动
  11. 返回到路由表,对于每列,点列标头单元,将数据类型设置为新的对应的自定义数据类型,并使用您指定的约束为列定义规则值(如果适用)。

    图 4.35. loan prequalification 的决策表

    DMN 决策表 example3

对于除路由表以外的框表达式类型,您可以按照类似方式浏览表达式表的指南,并根据需要定义自定义数据类型。

例如,以下框函数表达式使用自定义 tCandidatetProfile 结构化数据类型来关联在线隐藏兼容性的数据:

图 4.36. 在线隐藏兼容性的方框函数表达式

DMN 管理数据类型 structured3

图 4.37. 在线隐藏兼容性的自定义数据类型定义

DMN 管理数据类型 structured3a

图 4.38. 带有自定义数据类型的参数定义,以便在线隐藏兼容性

DMN 管理数据类型 structured3b
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部