DMN Decision Table(决策表)
什么是决策表
盘古BPM平台实现了如下的几种决策。
决策表表示决策逻辑(decision logic) 。它由输入,输出和规则组成。
规则策略素说明
UNIQUE:多个规则配置的时候,必须保证条件的输出唯一性。比如a<10 a<20 无论是否输出一致,直接报错。
FIRST:第一个规则满足条件之后就停止匹配后面的规则。
ANY:当多个规则都满足条件的时候,如果这些规则的输出不一样,则报错。
RULE_ORDER:当多个规则都满足条件的时候,依次将这些规则的执行结果存储起来
COLLECT:配合如下函数进行使用,SUM、COUNT、MIN、MAX。
dmn计算策略说明
UNIQUE:多个规则配置的时候,必须保证条件输入唯一性。 如果多个规则满足,无论是否输出一致,直接报错。 如果没有满足条件的返回空。如果有1个规则满足条件,返回当前的。如果有多个规则满足条件,无论是否输出一致,直接报错。
ANY:当多个规则都满足条件的时候,如果这些规则的输出不一样,则报错。如果有多个规则满足条件,但是输出一致,直接返回。
FIRST:第一个规则满足条件之后就停止匹配后面的规则。如果没有满足条件的返回空。如果有多个规则满足条件,返回第一个。
RULE ORDER当 多个规则都满足条件的时候,依次将这些规则的执行结果存储起来。
COLLECT配合如下函数进行使用,SUM、COUNT、MIN、MAX。如果只使用hitPolicy="COLLECT" == RULE ORDER 。如果使用aggregation,则使用了多输出条件,会报错。输出条件不是number类型,会报错。
dmn决策表定义说明
决策的名称以及值:分别对应decision标签的id和name
input以及output分别对应输入和输出。
“U”对应策略,当有多个规则的时候该怎么输出
注释:规则的描述。
规则中支持的类型
- String
- boolean
- date
- Integer
- long
- double
规则文件格式
input:定义输入参数,启动的时候需要传递该参数
output:定义输出参数
rule:定义规则,一个文件中可以定义多个规则
inputEntry:定义条件
outputEntry:满足条件之后,输出的结果
dmn决策表说明
如果A依赖B,B依赖A,运行的时候会报错。
如果A依赖B,B依赖c,c依赖A,运行的时候会报错。
如果A依赖A,运行的时候会报错。(自我依赖也会报错)
技术支持:盘古BPM工作流平台。
相关教程
- 2020-04-04
- 2020-04-04
- 2020-04-04
- 2020-04-04
- 2020-04-04
- 2020-04-03
- 2020-04-03
- 2020-04-03
- 2020-04-03
- 2020-03-31