DMN标准的主要设计目标是主题专家和其他“业务用户”(即非程序员)的可访问性。DMN承诺无需编程即可实现可执行的决策逻辑,它通过标准图表(DRD)、标准表格格式(盒装表达式)和业务友好型表达式语言(FEEL)的组合来实现这一点。然而,你经常听到这对非程序员来说太难了。绝对不是真的,但事实是,并非所有业务用户都能做到…正如我们对大量客户内部业务用户DMN 培训中看到的那样,他们都能快速通过学习,掌握DMN的建模方法,并应用到工作中去。
要精确地说谁能掌握DMN,谁不能掌握DMN并不容易。我们过去曾说过,如果您可以在Excel中使用“公式”功能区,则可以做到。我们还说过,它需要了解数据类型、表达式和函数等基本概念。但这有点抽象。这是一个简短的预测试,以了解 DMN 对您来说有多大的挑战性。它不需要你已经知道DMN,只需要你可以应用一些关于它的教学,就像你从我们的DMN培训中得到的那样。(当然,在培训中,它通过动手练习、重复和测验得到加强。
DRD
决策需求图定义了决策对支持决策和输入数据的逻辑依赖性。 输入数据(图中的椭圆)是在逻辑执行时提供的值。决策(关系图中的矩形)包含一个值表达式,该表达式根据其输入值计算输出值。决策的输入是由传入的实心箭头连接的决策和输入数据,称为信息需求。这些输入是决策值表达式中的变量,它只能引用直接信息要求的变量。DRD 中的波浪形称为知识源,表示决策逻辑的背景信息,而不是信息要求。
问题1.基于该解释,上图中贷款资格预审的值表达式可能引用了哪些变量?
- 信用评分、负担能力类别
- 信用评分、负担能力类别、贷款审批指引
- 信用评分、首付款、购买价格、月收入、贷款利率pct
- 信用评分、负担能力类别、首付款、购买价格、月收入、贷款利率 pct
- 决策表
DMN中最熟悉的盒装表达式类型是决策表,如下所示。
以下是它们的工作原理。左侧浅蓝色的列是输入。输入名称下方是其数据类型,其中还可能包括对允许值的约束,例如数值范围或枚举值。右侧深蓝色的列是输出。每个编号的行都是一个决策规则。规则中的输入单元格表示对输入的测试,即true或false。例如,对于规则1的第1列,如果信用评分大于 720,则该单元格为true,否则为false。对于规则 1第2列,如果“负担能力类别”为“负担得起”或“勉强负担”,则单元格为真。如果规则中的所有条件单元格都为true,则称该规则匹配,并选择输出列中的表达式作为决策表输出。
如果对于输入值的某种组合,多个规则可能匹配,则称这些规则重叠。在这种情况下,将使用左上角的命中策略代码,此处为A表示Any。命中策略A意味着如果表具有相同的输出值,则它们可能包含重叠的规则。例如,此处的“信用评分”610和“负担能力”类别“负担能力”的组合与具有相同输出值的规则6和7匹配。
还有几件事要提。
条件单元格中的数值范围使用规则2-5中的格式。方括号表示包括端点;括号表示排除终结点。例如,规则2测试大于680且小于或等于720的条件。
条件单元格中的连字符表示输入在此规则中无关紧要;默认情况下,该单元格为true。
问题2.信用评分720,负担能力类别“负担不起”的贷款资格预审输出是多少?
- “可能通过审批”
- “可能会被批准”
- “可能通不过审批”
- null(不匹配)
- 函数
商业知识模型(BKM)是决策逻辑的单元,表述为建模者定义的函数,这意味着其值表达式引用BKM定义中指定的参数。在DRD中,BKM 连接到一个决策,该决策通过称为知识要求的虚线箭头调用它。在调用中,决策将每个参数的值(称为参数)传递给 BKM,BKM 将这些值插入其值表达式并将结果返回给决策。此外,FEEL表达式语言还提供了大量的内置函数,无需知识需求即可调用。
调用由决策的值表达式定义,如前所述,该值表达式只能引用决策的信息要求。具体而言,它包括将决策输入映射到每个参数的表达式。BKM允许建模者创建可重用的决策逻辑,因为不同的决策(通常在不同的DMN模型中)可以向BKM发送自己的特定参数值。
下面您会看到一个名为贷款摊销公式的BKM,它给出了固定利率住房贷款的每月还款额及其文件。在 BKM 定义中,参数名称和数据类型用括号括起来,括号下方是 BKM 的值表达式。该 BKM 的第二个参数是以小数(而不是百分比)表示的贷款年利率。这个公式只是算术,但它很复杂且难以记住,非常适合 BKM。如果你有BKM,你不需要知道如何派生它;您只需要了解其参数即可。
DRD显示按决定调用BKM贷款摊销公式 每月付款如下所示。输入数据“贷款利率pct” 是以百分比表示的年贷款利率。
调用表达式的格式为BKM name(arg1, arg2, arg3),其中 arg1、arg2 和 arg3 是每个BKM参数值的表达式。顺序必须与BKM定义中的参数顺序匹配。
问题3.BKM的参数是什么?
- 贷款金额、贷款利率、贷款期限
- 贷款金额、贷款利率 pct、贷款期限
- p、r、n
- 本金、利率、月数
问题4.什么是调用表达式? - 贷款摊销公式(贷款金额、贷款利率、贷款期限)
- 按揭贷款(p,r,n)
- 按揭贷款(p,r/100,n)
- 贷款摊销公式(贷款金额、贷款利率 pct/100、贷款期限)
答案
你写下了你对这四个问题的答案吗?如果没有,请立即返回并执行此操作。以下是答案。
问题1.正确答案是 a. 信用评分,负担能力类别。决策的价值表达可能仅引用其直接信息要求,而其中只有两个。
问题2.正确答案是 c.“可能通不过审批”。信用评分 720 适用于规则 2、3 和 7。 负担能力类别“负担不起”适用于规则 6 和 7。因此,唯一匹配的规则是规则 7,“可能通不过审批”。
问题3.正确答案是 c. p, r, n。BKM的参数列在BKM定义的括号中。
问题4.正确答案是d.贷款摊销公式(贷款金额,贷款利率pct/100,贷款期限)。表达式以 BKM 名称开头,而不是以决策名称开头。由于“贷款利率pct”是百分比,因此必须将其除以100才能将其转换为小数,即参数r的格式。
您准备好 DMN 了吗?
那么,你对这四个问题的看法如何呢?如果你把它们都拿到了,你肯定已经准备好了。如果你错过了一个,但你只是忽略了一些细节,并且你理解了解释,你也准备好了。否则,如果上面的答案仍然没有意义,您可能不是DMN的好人选。在我们的DMN培训中,我们会多次复习内容,并且您会亲身使用该工具,但您需要很好地掌握基本概念。是的,有一点数学(但只是一点点)。