1. 概述
1.1 背景
数据库中某张表的近四天的数据重新校正过了,需要更改到 FineBI 中。
该表数据量很大,全量更新的时间很长,如何只替换近四天的数据呢?
1.2 解决思路
使用「增量删除」,将 FineBI 中近四天的数据删除。
使用「增量增加」,取出数据库中最新的近四天数据增加到 FineBI 中。
系统执行顺序:先增量删除,再增量增加。
2. 操作步骤
本文以 MySQL 数据库为例。对「客户注册信息表」修改近四天的数据,如下图所示:
2.1 删除近四天的数据
当前是 2023-06-30 ,需要删除 2023-06-27 ~ 2023-06-30 的数据。
1)在 FineBI 中找到「客户注册信息表」,选择「更新信息>单表更新」。如下图所示:
2)进入更新设置界面,如下图所示:
取出 FineBI 中 06-27 ~ 06-30 的数据:
SELECT 电话号码 FROM 客户注册信息表 WHERE DATE_SUB(CURDATE(), INTERVAL 3 DAY) <= 注册日期
需要注意的是:
此处输入的 SQL 语句要与用户的数据库同步,由此示例中输入的是 MySQL 的语句。
增量删除情况下不用 select * ,增量增加可以用。
你需要选择区分度最高的字段,在本示例中「联系电话」是一个区分度很高的 id 类字段,所以我们使用了“ select 联系电话”。
若表中没有辨识度高的字段,需要多个字段一起区分,那么就需要在数据库中将这多个字段拼接成一个可供识别的字段。
3)点击「预览」,看一下取出的数据是否符合要求。如下图所示:
2.2 将最新的近四天数据同步到 FineBI
1)点击「增量增加」,从数据库中取出 06-27 ~ 06-30 的数据,如下图所示:
2)点击「预览」,检查是否正确取数,如下图所示:
由于最新的近三天数据中,多了 06-27 ~ 06-30 号的数据,可以确定已正确取数。
2.3 立即增量更新
点击「增量更新」,系统会自动先执行「增量删除」,再执行「增量增加」。如下图所示:
点击「数据预览」,可以看到数据已经变动。如下图所示:
需要注意的是,若增量修改前后数据表的数据量未变化,那么在「更新信息」中会显示“增加0条数据”,这种情况说明增量更新是成功的。