1.在决策表节点中点击右键,在弹出的菜单中选择创建决策表,输入文件名后就可以创建一个普通决策表文件了。
在决策表当中,同样需要我们导入需要使用的变量库、参数库、常量库及动作库。
URule Pro中的决策表,整体可分为左右两个部分,分别是条件列部分与动作列部分,它们之间以一较粗的灰黑色线分隔,该线左边为条件列,右边则为动作列。在导入好相关的变量库或参数库后,那就可以在条件列的列头上右键,通过右键菜单选择当前条件要绑定的变量或参数,如下图所示:
要设置决策表的条件,我们必须先为条件列设置好与之绑定的变量或参数,否则是无法设置当前条件列下单元格中的条件的。URule Pro中的决策表提供了三种类型的动作列,分别是:赋值动作列、执行方法动作列以及控制台输出动作列。
添加好条件列并配置好与之绑定的参数和变量后,接下来就可以在该列对应的单元格添加具体的条件,添加条件方法比较简单,在目标单元格右键,在弹出的菜单中选择“配置条件”项即可。
这个配置条件的窗口采用的是向导式条件配置方式,与决策集中条件配置方式基本一致
例如:
2.从Excel中导入决策表
URule Pro中的决策表支持从外部的Excel中导入,在Excel中按要求定义好决策表,然后导入即可使用。打开决策表编辑器,可以看到工具栏上有“导入Excel”按钮,点击该按钮在弹出的窗口中选择要导入的Excel文件即可。如下图所示Excel:
对于条件列的列头支持变量及参数两种类型的值,如上图中的“员工.年龄”、“员工.性别”两个条件列采用的都是变量,在定义的时候要求我们在要导入的项目中已定义好对应的变量,比如这里的“员工”,那当前要导入的项目中要有一个变量分类名为“员工”,这样导入时引擎会自动查找这个变量分类,如果Excel里定义里某个变量分类或具体分类,但在项目中不存在这么个变量分类或变量,则在导入时会失败。
列头在定义时要放在第一行,这是必须的,否则在导入时会产生错误。列头定义好后,接下来就可以定义对应的具体条件了。条件在定义时只需要具体的比较操作符及条件右值即可,
多条件连接时与、或可使用 || 及&&表示,如果是等于(==),则等于号可省略不写
动作列
动作列支持两种类型:一种是用于赋值的动作列(如上图中的员工.薪水以及员工.地址两列都是用于赋值操作的);另一种就是输出到控制台的动作列(如上图中的控制台输出列)。在URule Pro当中通过为列头添加备注来区分当前动作列是赋值列还是输入到控制台的列。如果是赋值列,则需要为列头添加“赋值”或“assign”的字符串备注,如果是输出到控制台的列,则列表添加“控制台输出”或"out"的字符串备注
定义好动作列表后,在下面的行中就可以定义具体的内容,需要指出的是,目前内容只支持字符数字之类的简单值,不支持内容里采用别的参数或变量或调用方法等,同时在Excel中定义决策表时,决策表需要放在第一个Sheet页中。
导入后决策表效果如下:
总结:
普通决策表只有横向条件,想要加多个条件列,只能横向加列的方式来实现,列头变量下的单元格可以给对应的条件列配置条件。
普通决策表在面对 条件列 有多情况时 很方便,且以表格的方式把每种情况一行一行地罗列出来,清晰可见。但如果条件列太多,那么横向的条件列头就会很长,想要找到命中的动作将会变得很困难。
普通决策表多用于 条件列 不多但该 条件列 下的情况多 的动作。