1 概述
作业流的参数主要是作为值传递作为。下面以一个场景进行说明。
2 功能说明
场景说明
某些银行项目有自己的ETL工具,但也使用Smartbi的ETL,需要先跑完自己的ETL,才开始跑Smartbi 的ETL;
客户自己的ETL工具,会设置时间频率跑定时任务,跑完会每定在指定表生成一条记录,记录的状态1为成功,其他值则代表失败,如下表格:
日期 | 状态 | 执行时间 |
---|---|---|
2022-02-01 | 0 | 2022-02-01 01:13 |
2022-02-01 | 1 | 2022-02-01 02:10 |
那Smartbi 每天怎么知道外部ETL有没有跑完呢?这就需要通过参数动态的获取”状态“。
方案:Smartbi 通过作业流的参数支持动态参数(公共参数)获取当前日期,根据当前日期,再结合“检查字段值”节点的SQL语句进行判断;
1、 首先先在Smatbi“公共参数”新增一个获取动态日期的参数“date”
2、再到作业流中参数界面新增参数“date”,并且与公共参数进行关联,如下图:
序号 | 功能选项 | 说明 |
---|---|---|
1 | 参数入口 | 点击 图标 |
1 | 参数名 | 必填 |
2 | 参数类型 | 分类“值”、“参数” 值:枚举型,即具体某一个值,可以是整形、字符串、日期等等 参数:通过公共参数定义的参数来获取值 |
3 | 参数定义 | 根据“参数类型”显示,如果是参数类型是“值”,则显示数据类型 如果参数类型是“参数”,则可选择具体的参数 |
4 | 参数值 | 如果想要实现动态获取参数值,参数值不需要填写; 如果想实现静态值,则直接输入具体的值 |
3、 参数+“检查字段值”节点的sql脚本, 把新建的参数date值动态带入到SQL语句中,实现根据动态条件查询状态,如下图:
序号 | 功能选项 | 说明 |
---|---|---|
1 | 数据源 | 可以选择有权限查看的数据源 |
1 | 数据类型 | 必填; 数值型和非数值型; |
2 | 条件 | 跟着”数据类型“改变而改变; 数值型包含:等于、不等于、大于、小于、小于等于、小于等于; 非数值型:比如字符串、日期、时间等,包含:等于、不等于、包含、不包含、开头为、非开头为、结束为 |
3 | 值类型 | 值类型分为静态枚举值、动态参数; |
4 | 值 | 如果值类型为”值“时,默认是”输入框“ 如果值类型为”参数“时,可以选择公共参数以及选择对应的值,如下图 |
5 | SQL脚本 | 即根据所选"数据源",书写SQL语句,如: |
如果值为"1"的话,则继续执行,如果不为1,则不往下执行: