1.交叉决策表与普通决策表相比,交叉决策表的条件由纵向和横向两个维度决定,而普通决策表的条件只是由纵向维度决定;但在普通决策表的动作部分可以是三种类型,分别是赋值、输出和执行方式,而交叉决策表的动作只有一个,那就是赋值。
在上图中,紫色单元格中5的值由横向和纵向两个维度的上箭头对应的条件决定,只有这两个维度上的条件都满足了,才会执行将这个单元格里的值赋给“客户.等级”这个变量。
相比普通的决策表,交叉决策表是从横向和纵向两个维度来唯一确定一个值,所以它更加简单,也更为直观,相同类型的交叉决策表实现的交叉业务规则,如果换成普通决策表来定义,那将大大增加定义的复杂度。
2.创建交叉决策表:
在项目的决策表节点下点击右键菜单,选择添加交叉决策表项,输入正确的名称,即可创建一个新的交叉决策表文件,如图:
然后我们需要导入要使用到的在项目中已定义好的变量、参数、常量或动作库文件,这点和前面介绍的决策集、普通决策表的用法一致,然后就可以来编辑我们的交叉决策表文件。
属性选择完成后,就可以为条件在单元格上点击右键菜单,为条件单元格配置具体的条件,如果需要增加行列,也是通过在条件单元格里点击右键菜单,添加对应的条件行列即可。如下图所示:
3.导入Excel中定义的交叉决策表
交叉决策表支持从外部Excel中导入。Excel可以按照URule Pro中的要求定义好交叉决策表,然后就可以直接导入,这样可以大大减轻交叉决策表定义的工作量,大幅提高工作效率。比如下面的Excel文件
注意:
交叉表左上角单元格一定要合并起来,否则将出现错误;
在定义要绑定的参数或具体变量时,一定要保证该参数或具体变量能在当前项目中找到,否则将导入失败;
条件单元格中单条件可不写等于号,多条件不支持括号,不能用括号把多个条件连接;
对于横纵向条件的第一个单元格里,要为这个单元格添加批注,用以说明该条件行或列所绑定的变量或参数对象;
如下图所示:
导入后的效果如下:
总结:
如果我们是用决策表来进行对单个对象的赋值操作,同时这个决策表的限制条件又比较多,这时就比较适合采用URule Pro中提供的交叉决策表来实现,因为其从横向和纵向两个维度来进行条件限制,可以大大简化决策表的配置,同时配合外部的Excel导入功能,可显著提高交叉决策表的配置效率。