CannerFlow 與 Tableau 串接步驟

Tableau Server 版本支援

目前僅支援 2019.4 以上的版本,

原因:目前 Personal Access Token 只有在 2019.4 以上支援。

Quoted from Tableau 文件 (網址連結)

Added in REST API 3.6 for Tableau Server 2019.4

... You can now use a Personal Access Token (PAT), instead of plain text username and password, to sign in to Tableau Server or Online with the REST API. ...

您將了解

  1. 如何操作 CannerFlow 發佈資料至 Tableau Server
  2. 如何設定排程更新
  3. 如何做權限管理

流程概觀

CannerFlow 與 Tableau 的整合跟一般 Data Warehouse / Database 透過 connector 串接的方式不同

tableau-architecture

細節行為
  1. Query Data: 使用者先透過 Materialized View 的方式,設定 CannerFlow 從不同資料來源整合資料。
  2. Transform to Hyper & Publish Data: CannerFlow 把資料轉換成 Hyper 的格式,並發佈到 Tableau Server。
  3. Result: Materialized View 建立完成後,CannerFlow 會根據建立好的 Tableau Publish 的資訊把 Materialized View 發布到 Tableau Server 上對應的 Site 及 Project 內。

當 Tableau Server 成功收到發佈過來的資料,將可在對應的 Project 中看到

tableau-mv

圖中的 testing_bi_60622.order100 為 CannerFlow 發佈過來的資料

將資料發佈到 Tableau Server

步驟 1: Tableau Server 上建立 Personal Access Token

tableau-account-settings 請至右上角的下拉選單中選擇 My Account Settings

tableau-new-token 並至 Personal Access Tokens 區塊,新增 Personal Access Token,輸入 Token Name 後,點擊 create new token 按鈕後

caution

請注意 token name 不要包含非法字元 (!@#.& 等字元),以及空白

tableau-token-popup 接著會跳出視窗,並點擊 Copy to clipboard 複製 token secret

tableau-credential 至 CannerFlow Settings 頁面,在 Tableau Credential 區塊中點擊 Create a credential,輸入以下資訊

  1. Credential Name: 此名稱用來方便您辨識 credential,並可在後續步驟中選取
  2. Token Name: 輸入上個步驟 Personal Access Token 的 Token Name
  3. Token Secret: 輸入上個步驟 Personal Access Token 複製下來的 Token Secret
  4. Host: 輸入 tableau server 的 URL,以類似此格式輸入 https://canner-test.online.tableau.com

步驟 2: 將想發佈至 Tableau Server 的資料,建立為 Materialized View

在 CannerFlow 中的 workspace 中,建立 Materialized View

mv-screenshot

若對 Materialized View 有疑問,請參考 資料轉換及落地 > 資料實體化 Materialized View

步驟 3: 建立 Tableau Publish

tableau-bi-page 至 Workspace 中的 BI Integration,點擊 + Publish 按鈕,並填入 Tableau Server 相關資訊

1. Site Name

部署到 Default Site 此欄位請留空 (若沒有新增 Site,只有一個 Site 的情況時,此欄位請留空),若有多個 Site,請至 Settings 頁面複製 site id,貼到此欄位

關於 Site ID

Default Site 的 Settings > Site Name and ID 在 Tableau 上會如下圖,在此欄位就請留空

非 Default Site 的 Settings > Site Name and ID 在 Tableau 上會如下圖,就請複製 ID (Seen in URL) 的值過來

2. 選擇上個步驟創建的 credential

請在此步驟先選擇 Credential,下個步驟才能選擇 Project

3. 選擇一個 Project

tableau-choose-project

在此步驟需選擇資料放置的 Project

4. 選擇多個 Materialized View

在此步驟需選擇發佈過去的資料

步驟 4: 等待發佈

tableau-mv-status 每個 Tableau Publish 會呈現在 Tableau 區域中,請點擊 Refresh 按鈕刷新最新狀態,若狀態轉變為 Synced,表示資料已經成功發佈至 Tableau Server。

tableau-mv Tableau Server 中將可在對應的 Site > Project 中,看到發佈過來的資料,並可在 Tableau Desktop 中使用。

tableau-desktop-connect 在 Tableau Desktop 中點選 Search for Data > Tableau Server ,就可看到從 CannerFlow 發佈過來的資料,並可連接至 workbook 中使用。

如何設定排程更新

關於如何創建排程 Materialized View (Scheduled Materialized View) ,請參考 資料轉換及落地 > 資料實體化 Materialized View

當您成功排程 Materialized View,每次的更新都會重新發佈到 Tableau Server,當 Materialized View 在重新抓取資料時,Tableau Publish 中的狀態會變更為 Preparing,成功時就會變為 Synced

tableau-revision-history

在 Tableau Server 上,可點選 Revision History 觀看該資料來源的刷新紀錄。

如何做權限管理

CannerFlow 會負責把資料發佈到對應的 Project 中,故權限管理上,Tableau 管理員需要透過 Project 去區分哪些 user 或 group 可看到哪些資料,該權限可在 Project Permission 中的 Data Source 區塊設定。