當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

增量增加範例

1. 概述

1.1 背景

資料庫中有一張表,每天都會新增當天資料。這張表資料量很大,如果每天更新整張表的話,需要更新很長時間。

1.2 解決思路

使用「增量更新」,只將每天新增的資料更新到 FineBI 中。這樣就不需要更新整張資料表,節省了更新時間和更新資源。

由於增量增加過程中經常需要將資料庫中的資料和系統更新時間做比較,所以有時間戳的表更適合做增量更新。

2. 操作步驟

把 SQLite 資料庫中的「設備生產明細表」新增到 FineBI ,詳細操作請參見:新增資料庫表

如下圖可看到該表中有時間戳欄位「時間」。

增量01.png

2.1 設定增量增加

1)在 FineBI 中找到「設備生產明細表」,選擇「更新資訊>單表更新」。如下圖所示:

增量02.png

2)進入到單表更新設定頁面,選擇「增量增加」,輸入取數的 SQL 語句,如下圖所示:

輸入 SQL 語句需要與使用的資料庫語言同步,本範例使用的是 SQLite 。

增量03.png

SELECT * FROM 設備生產明細表 WHERE 時間 > strftime('%Y-%m-%d %H:%M:%S','上次更新時間')

該 SQL 語句取出「時間」大於「上次更新時間」的資料後,系統會再將資料增加到 FineBI 中,實現增量更新。其中 strftime 函式用於將「上次更新時間」從字串轉化為日期型別。若使用的是其他資料庫,需要使用其他資料庫適配的函式。

系統參數說明

上次更新時間


表示上一次更新開始的時間

該參數為正文型別的年月日時分秒(例如:2017-12-22 12:00:00),需要透過函式將其轉化為時間型別,才能與其他時間型別的欄位做對比

「上次更新時間」必須點選新增,不能複製新增 

可用 ${_last_update_time_}代替,本範例的 SQL 語句可寫為

SELECT * FROM 設備生產明細表 WHERE 時間 > strftime('%Y-%m-%d %H:%M:%S','${_last_update_time_}')


當前更新時間
  • 表示本次更新的開始時間

  • 該參數為正文型別的年月日時分秒(例如:2019-12-22 12:00:00),需要透過函式將其轉化為時間型別,才能與其他時間型別的欄位做對比

  • 「上次更新時間」必須點選新增,不能複製新增 

  • 可用 ${_current_update_time_} 代替

注:「增量更新」是以行為單位的,增量增加是對 FineBI 中儲存的資料表直接新增行。

3)點選「預覽」,可以查看到 SQL 語句中取出來的資料,如下圖所示:

增量04.png

若是預覽失敗,可以將 SQL 語句中的「系統參數」更換為固定日期值,在自己的資料庫中測試一下語句是否正確。

4)點選「增量更新>確定」,可以立即對資料進行增量更新,如下圖所示:

增量05.png

2.2 效果查看

更新完成後查看「設備生產明細表」的更新資訊,增量更新後該表增加了兩筆資料,如下圖所示:

增量06.png

在資料預覽介面,也可以看到增量更新增加的資料,如下圖所示:

增量07.png

2.3 設定定時增量更新

若使用者希望可以設定定時增量更新,該如何操作呢?

重新進入更新設定介面,點選「定時更新」,更新方式設定「增量更新」,設定更新方式為每天更新一次。如下圖所示:

增量08.png

定時更新詳細設定方式可參見:定時更新


附件列表


主題: 连接到数据
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!