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


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

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

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

先决条件

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

流程

  1. 在 Business Central 中,前往 Menu Design Projects,点项目名称并选择要修改的 DMN 文件。
  2. 在 DMN 设计器 Canvas 中,选择您要定义数据类型的决策节点或商业知识模型,并点击 Edit 图标打开 DMN 框式表达式设计程序。
  3. 如果已选中的表达式适用于尚未定义的决定节点,请单击 undefined 表来选择要使用的已选框表达式类型,如方框式的字面表达式、关闭上下文表达式、决策表或其他 DMN 框式表达式。

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

    dmn decisionsed 表达式选项
  4. 点表标头、列标题或参数字段的单元(取决于您要定义数据类型的表达式类型),然后单击 Manage 以进入可以创建自定义数据类型的 Data Types 页面。

    图 6.25. 管理列标题值的数据类型

    dmn 管理数据类型

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

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

    dmn 管理数据类型1a

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

    在这个示例中,DMN 决策表 的贡献列 Score Rating 定义了一组自定义分数等级,以以适用度的贡献分数为基础。

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

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

    在本例中,单击 New Data Type 并创建 credit _Score_R ating 数据类型 作为字符串

    图 6.27. 添加新数据类型

    dmn 自定义数据类型添加

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

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

    • "Excellent"
    • "Good"
    • "Fair"
    • "Poor"
    • "bad"

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

    dmn 自定义数据类型限制

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

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

    dmn 自定义数据类型限制

    有关指定数据类型的约束类型和语法要求的详情,请查看 Decision Model 和 Notation 规格

  7. OK 保存约束,然后点数据类型右侧的检查标记保存数据类型。
  8. 返回 贡献度级别 决策表,点 credit Score Rating 列标题,将数据类型设置为此新的自定义数据类型,并使用您指定的评级限制定义该列的规则值。

    图 6.30. 得分评级的决策表

    dmn 决策表 example1a

    在这种情况的 DMN 决策模型中,贡献性 决策流至以下需要自定义数据类型 的 Loan Pre qualification 决策:

    图 6.31. loan prequalification 的决策表

    dmn 管理数据类型空白
  9. 继续本例,返回 Data Types 窗口,单击 New Data Type,然后创建一个 Loan_Qualification 数据类型作为没有限制的 Structure

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

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

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

    dmn 管理数据类型
  10. 在本例中,在结构化 Loan_Qualification 数据类型下,添加一个带有 "Qualified" 和" Not Qualified" enumeration 约束的 Qualification 字段,以及没有限制的 Reason 字段。另外,添加简单的 Back_End_RatioFront_End_Ratio 数据类型(包括 "Sufficient" e Insufficient" enumeration 约束)。

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

    图 6.33. 使用限制添加嵌套数据类型

    dmn 管理数据类型 structured2

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

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

    dmn 管理数据类型结构化2拖动
  11. 返回各个列的决策表,单击列标题单元格,将数据类型设置为新的对应的自定义数据类型,然后根据需要定义列所需的规则值,并提供您指定的限制(如果适用)。

    图 6.35. loan prequalification 的决策表

    dmn 决策表 example3

对于决策表以外的选择表达式类型,您需要遵循这些指南来导航框的表达式表并根据需要定义自定义数据类型。

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

图 6.36. 用于在线持久性兼容性的 boxed 功能表达式

dmn 管理数据类型 structured3

图 6.37. 用于在线持久性兼容性的自定义数据类型定义

dmn 管理数据类型 structured3a

图 6.38. 具有用于在线持久性兼容性的自定义数据类型的参数定义

dmn 管理数据类型 structured3b
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.