增量增加範例

1. 概述

1.1 背景

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

1.2 解決思路

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

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

2. 操作步驟

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

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

1時間欄位.jpg

2.1 設定增量增加

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

2單表更新.jpg

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

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

3SQL語句.jpg

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 語句中取出來的資料,如下圖所示:

4預覽.jpg

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

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

5確定.jpg

2.2 效果查看

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

6新增3條資料.jpg

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

7資料預覽 3條新增.jpg

2.3 設定定時增量更新

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

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

8定時設定.jpg

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

附件列表


主题: 資料準備
已经是第一篇
已经是最后一篇
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙