Tableau 教學 – 儀錶板即時自動更新實作,戰情室、產線監控全靠這兩招!
內容目錄
ToggleTableau 報表自動即時更新
利用 Tableau 製作儀表板後,為了日後能持續看到最新的資料,我們會對報表進行資料更新,根據不同的報表主題,設置資料更新的頻率也不同。
若是不需要看到即時的資訊(例如:日批次更新的資料),可以使用擷取的資料連線方式並設置排程每日更新,即可每天看到該日批次的資料,但透過此方法最短僅能以小時為單位自動更新;若報表需要看到即時的資訊,例如:戰情室、產線監控儀表板等,就需要使用即時的資料連線方式,搭配自動重新整理,即可達成在更短的時間內,讓報表自動即時呈現最新的資料。
隨著 Tableau 的廣泛應用,越來越多人會利用 Tableau 製作戰情室儀表板,以便隨時使用資料做出精準決策。若要達成這個目標,首先要能確保資料是可以即時連線,並且能夠自動重新整理。以下會針對需要看到即時資訊的報表,介紹兩種自動重新整理來更新資料的方法。
方法一:Tableau 擴充功能 Auto Refresh
Auto Refresh 自動重新整理,是 Tableau 內建的儀表板擴充功能,可以在製作報表時將此物件應用在儀表板中,會以倒數計時的方式呈現,倒數完畢就會自動重新整理儀表板,達到在短時間內呈現最新資料的效果,但須注意此方法的更新頻率最快為五分鐘。
Auto Refresh 使用方式很簡單,在製作儀表板的物件區,拖曳「擴展」物件至畫面中,即可搜尋 Auto Refresh 並且下載此擴充程式,並且可於配置中設定更新頻率及物件文字大小,如下圖:
方法二:Tableau 嵌入報表自動重新整理
若想在更短的時間內重整報表,例如:每 10 秒鐘更新一次,達到真正的「即時」,那就會需要使用 Tableau 提供的 API 去達成,讓我們可以自由自訂重整的頻率,無論是戰情室屏幕還是監控儀表板,都可以立刻看到資料的變化。
以下以 Google 試算表及 Tableau 超級市場範例資料集,模擬資料即時的變更,再使用報表嵌入至網頁中的方式觀察自動重新整理的狀況,最後也會說明範例影片中使用的程式碼內容。
即時自動更新影片範例:
從範例影片中可以看出,在 Google 試算表中加入新的年份 2018 年(原始的資料年份只到 2016),報表自動重整後,有出現 2018 年的資料,接著再將 Google 試算表中加入的 2018 年資料刪除,再回到報表中,可以看到過了幾秒鐘滑鼠出現轉圈圈並且重新整理,回到原本只有到 2016 年的資料,實現了儀表板自動即時更新的效果。
以下為詳細的步驟說明。
步驟 1. 確保儀表板連結的資料來源是即時連線(live connection)
步驟 2. 在前端網頁程式碼加入以下嵌入程式碼、自動更新程式設置
- 使用 Tableau Javascripts API,後方需填入 server 的網址位置
- 第一個 function 是 refreshView(),是用在自動更新儀表板畫面
- 第二個 function 是 initialize(),是用在嵌入儀表板畫面,下方會宣告要嵌入的報表以及其格式設定
- setInterval(refreshView, 豪秒數),是用在設定自動更新的頻率
結語
上述分享的兩種自動重新整理報表方式,皆須使用「即時」的資料連線,建議連線的資料來源須有較佳的規格,或是資料量不能太大,因為即時連線的方式本身就會影響整體效能,在重新整理後要能快速對資料做查詢及呈現,才符合我們對於戰情室或監控儀表板的期待。另外,使用者除了調校資料面的效能外,也可以透過儀表板的設計優化,加速整體的重整速度,提高使用體驗,迅速作出精準決策。
Reference: