某些银行项目有自己的ETL工具,但也使用Smartbi的ETL,需要先跑完自己的ETL,才开始跑Smartbi 的ETL;
那Smartbi 怎么通过动态的参数值获取”状态“呢?
3.1、功能介绍
某项目,客户有自己的ETL工具,会设置时间频率跑定时任务,跑完会每定在指定表生成一条记录,记录的状态1为成功,其他值则代表失败,如下表格:
日期 | 状态 | 执行时间 |
---|---|---|
2022-02-01 | 0 | 2022-02-01 01:13 |
2022-02-01 | 1 | 2022-02-01 02:10 |
方案:Smartbi 通过作业流的参数支持动态参数(公共参数)获取当前日期,根据当前日期,再结合“检查字段值”节点的SQL语句进行判断;
step1: 首先先在Smatbi“公共参数”新增一个获取动态日期的参数“date”
setp2: 再到作业流中参数界面新增参数“date”,并且与公共参数进行关联,如下图:
序号 | 功能选项 | 说明 | |
---|---|---|---|
1 | 参数入口 | 点击 | |
1 | 参数名 | 必填 | |
2 | 参数类型 | 分类“值”、“参数” 值:枚举型,即具体某一个值,可以是整形、字符串、日期等等 参数:通过公共参数定义的参数来获取值 | |
3 | 参数定义 | 根据“参数类型”显示,如果是参数类型是“值”,则显示数据类型 如果参数类型是“参数”,则可选择具体的参数 | |
4 | 参数值 |
|
step3: 参数+“检查字段值”节点的sql脚本, 把新建的参数date值动态带入到SQL语句中,实现根据动态条件查询状态,如下图:
如果值为"1"的话,则继续执行,如果不为1,则不往下执行: