对于第一种情况 ,逻辑是只更新添加时间大于上次更新时间的数据即可。
以下均 MySQL 数据库举例
2.1 操作步骤
使用 MySQL 数据库下的「demo_contract」表,需要根据「合同签约时间」对其进行增量更新。
1)进入业务包下,选择「demo_contract」表,选择「更新信息」,点击「单表更新」,进入设置框,增量更新方式选择「增量增加」,并且在增量更新输入框中使用 SQL 实现增量更新,如下图所示:
MySQL 的 SQL 语句如下所示:
SELECT * FROM demo_contract where 合同签约时间 > str_to_date('上次更新时间','%Y-%m-%d %H:%i:%s')
注:str_to_date 为 MySQL 数据库中将字符串转化为日期类型函数,若用户使用其他类型数据库,需要使用对应数据库适用的函数,其中「str_to_date」将系统中的参数「上次更新时间」转换成时间,用于和「合同签约时间」做比较。
注:或者使用参数 ${_last_update_time_} 代替,${_current_update_time_} 代替系统参数「当前更新时间」,SQL 语句示例如下所示:SELECT * FROM demo_contract where 合同签约时间 > str_to_date('${_last_update_time_}','%Y-%m-%d %H:%i:%s')
参数说明如下所示:参数说明
「上次更新时间」表示上一次更新开始的时间;
该参数为文本类型的年月日时分秒(例如:2017-12-22 12:00:00),需要通过函数将其转化为时间类型,才能与其他时间类型的字段做对比。
「上次更新时间」必须用参数点击添加,不能复制添加 ;
「当前更新时间」表示本次更新的开始时间;
该参数为文本类型的年月日时分秒(例如:2019-12-22 12:00:00),需要通过函数将其转化为时间类型,才能与其他时间类型的字段做对比;
「上次更新时间」必须用参数点击添加,不能复制添加 。
注:「增量更新」是以行为单位的,增量增加是对引擎中保存的数据表直接添加行,「增量删除」是直接删除行。
2)点击预览可以查看到添加时间大于上次更新时间的数据,如下图所示:
若是预览失败,可以将 SQL 语句中的「系统参数」替换为固定日期值,在自己的数据库中测试一下语句是否正确,然后再复制到 FineBI 中使用。
3)点击立即更新下拉框,选择增量更新,等待更新完成后,点击确定,更新成功,如下图所示:
2.2 效果查看
1)在更新信息中可以看到更新结果,如下图所示:
2)在数据预览界面即可看到增量更新的数据,如下图所示: