别再用传统方式取数了!JVS规则引擎中SQL变量加工的配置过程详解
在决策配置过程中,一些复杂的逻辑或模型可通过自定义SQL脚本编写创建数据变量,通过SQL脚本可以便捷的从数据库中取数,并且自定义SQL支持传参,可满足更复杂多变的数据加工处理。
在JVS规则引擎中,提供了SQL变量能力,今天我详细说一说SQL变量加工是如何配置的。
注意,SQL变量加工和算子编排加工的方式不同,SQL变量加工依赖于对应数据源的服务器的性能,在使用前,需要确认下数据库是否有可用的多余的性能满足新增SQL执行的性能消耗(避免影响原有系统的性能)。
JVS规则引擎SQL数据加工配置效果如下图所示
创建变量入口
在变量管理中,创建公共的SQL变量,如下图所示:
在决策中,创建私有的SQL变量,如下图所示:
界面介绍
SQL数据加工配置器界面介绍,如下所示,
①:数据源选择,点击下拉框,展示系统支持的多个数据源(数据库)
②:搜索框,对数据库、数据库对应字段进行收缩,用于便捷的找到数据库与相关字段
③:数据表与字段详情展示,双击可以拾取到右侧的编辑窗中
④:SQL脚本编辑框
⑤:SQL脚本执行时,设置预览返回的限制条数,可以下拉选择预览返回的数据上限
⑥:执行按钮,模拟执行SQL编辑脚本
⑦:参数设置窗,可以设置需要查询传递进入SQL脚本中的参数
⑧:展示执行预览的数据
⑨:展示多次执行的历史记录
数据库的选择
数据库选择是,可以点击下拉框,进行系统已经配置的数据库类型进行切换,目前通过SQL脚本的支持mysql、达梦、PostgreSQL、Oracle数据库
在做了对应数据库切换后,系统会自动加载对应的库表数据,包括数据库、表、字段的 树形结构展示,如下图所示
SQL脚本编辑
编辑器支持关键词提示,在编写的时候更加便捷的编写脚本
提供了对SQL脚本执行的返回数据总量的条数限制,可通过下拉框进行选择返回限制的条数,点击模拟执行,可以预览展示出来的效果
执行历史记录
系统提供了sql脚本执行历史记录的展示,包括执行语句,执行状态,输入参数,起止时间等
参数配置
在SQL变量使用的过程中,往往存在需要通过业务端传入的参数去过滤查询的数据,那么就需要通过参数的方式进行SQL脚本的编写,如下图所示:
参数配置方式,如下所示
①:点击添加参数,系统创建参数相关配置选项
②:设置入参的名称,用于在决策中使用时,需要传入的参数名称说明
③:设置入参的key,这里的key需要在系统中唯一,用于对变量的唯一标识
④:设置字段类型,类型包括字符串、数值、布尔类型
⑤:设置参数的模拟值,便于模拟执行验证数据是否正确
⑥:删除入参的按钮操作
取值配置
我们可以对SQL变量内部数据字段值进行直接提取,通过一个基础变量来直接获取对应字段值的第一条数据值,以便用于规则的判断,具体直接选择对应字段即可。可选择一个或多个。
聚合配置
我们还可以对SQL变量进行一个聚合配置,执行完毕后进行聚合配置。选择相关需聚合的字段,即可统计条数。其中如果字段类型为字符串,则聚合时为计数和去重计数。如果是数字类型则有最大、最小、平均值等这些选项。详情如下
用的时候可以用一个基础变量进行存放,选择【其他变量】里的【SQL变量(聚合)】,找到对应的SQL变量名称。最后就会统计出满足条件的条数。
在线demo:*************************
gitee:https://gitee.com/software-minister/jvs-rules