Skip to main content

CannerFlow Power BI Push Dataset 設置步驟

您將了解#

  1. 如何使用 Power BI Push Dataset
  2. 如何設定排程更新
  3. 問題答案集 (FAQ)

Power BI Service 設定#

接下來幾個步驟,要在 Power BI Service 上設定好相關權限,並取得需要的資訊後續可填入到 CannerFlow 中.

步驟 1: 應用程式註冊#

  1. 應用程式註冊 > 建立一個應用程式,名字可為 Cannerflow Power BI Push Dataset App

powerbi-push-step1.png

  1. 點選建立好的 Cannerflow Power BI Push Dataset App > 複製好 「應用程式 (用戶端) 識別碼 (Application ID) 」與「 目錄 (租用戶) 識別碼 (Tenant ID)」,接下來的步驟會使用到.

powerbi-push-step2.png · 3. 點選憑證及祕密 > 在用戶端密碼區塊,新增用戶端密碼,可以在建立時設定較長 (24個月為佳),以避免過期的問題。

powerbi-push-step3.png

  1. 複製 Cannerflow Power BI Push Dataset secret 的值 (Application secret).

powerbi-push-step4.png

注意

在這個步驟,請務必把 secret 的值複製起來,後面再回來看,會無法複製值.

步驟 2: 建立安全性群組#

  1. 進入 Azure Active Directory > 群組,並點選「新增群組」

powerbi-push-step5.png

在搜尋找 Azure Active Directory

powerbi-push-step6.png

在此頁面點選「新增群組」

  1. 在建立時於「成員」輸入剛剛建立好的應用程式 Cannerflow Power BI Push Dataset App,群組類型選擇「安全性」

powerbi-push-step7.png

  1. 建立完成後如下圖:

powerbi-push-step8.png

步驟 3: 啟用 Power BI 服務系統管理員設定#

  1. 接著為了要讓這個服務主體 Cannerflow Power BI Push Dataset App 可以存取 Power BI 的 API,我們需要到 Power BI 的 Service 中開啟服務主體存取 API 的權限,此部分的設定僅能由 Power BI 的管理員開啟(與Azure 的管理員權限不同),如果要開啟 Power BI 的管理員權限請參考該文件: https://docs.microsoft.com/zh-tw/power-bi/admin/service-admin-role

powerbi-push-step9.png

  1. 透過指定「特定的安全性群組」,可以把對 API 的存取權限限縮在該安全群組中,接著後續我們便可以讓特定的工作區,透過添加該安全性群組來被 Power BI API 存取操作。

powerbi-push-step10.png

步驟 4: 將服務主體新增至您的工作區#

  1. 透過「建立工作區」建立一個需要藉由 Power BI API 存取的工作區 > 接著點選新建立好的工作區,並開啟工作區存取 ,如下為 test-power-bi:

powerbi-push-step11.png

注意

工作區存取與建立工作區 需要具有 Power BI Pro 產品的權限,該權限與 Power BI 管理員角色的權限不同,如下圖來自 Azure AD 中使用者 > 授權 (License) 的確認:

powerbi-push-step12.png

若沒有 Power BI Pro 產品權限,可透過這邊做設定,Power BI 服務中透過右上角的「管理入口網站 ( Admin Portal )」 > 使用者 > 前往 Microsoft 365 系統管理中心

powerbi-push-step12-2.png

並在開啟 Microsoft 接著點選已作用中的使用者,編輯使用者的授權與 App 授權,開啟 Power BI Pro(如果開啟並儲存就會進行刷卡)。

powerbi-push-step12-3.png

  1. 輸入在 Azure AD 中建立好的安全性群組:

powerbi-push-step13.png

如此屬於工作區,因為有了這個安全性群組 Cannerflow Power BI App ,便能讓隸屬在安全性群組中的 Cannerflow Power BI Push Dataset App 服務主體 ( Service Principal ) ,獲得該 Power BI 的 API 存取權限,並且能只作用在添加該群組的工作區中。

CannerFlow 設定 Push Dataset#

步驟 1: Create Power BI Service Principal Credential#

輸入前面步驟取得的

  1. Application ID (應用程式 (用戶端) 識別碼, 於 應用程式註冊 成功後,在資訊中取得)
  2. Application Secret (於 應用程式註冊 成功後,在憑證與秘密中取得)
  3. Tenant ID (目錄 (租用戶) 識別碼 (Tenant ID), 於 應用程式註冊 成功後,在資訊中取得)

powerbi-push-step14.png

步驟 2: Create Push Dataset#

  1. 點擊 create Create a Push Dataset

powerbi-push-step15.png

  1. 接著,會跳出表單,需填寫以下資訊
    1. Credential Name: 選擇上個步驟創建的 Power BI Service Principal Credential
    2. Power BI Workspace Name: 選擇推送到哪個 Power BI 上 workspace 中
    3. Materialized View: 選擇推送的 Materialized View
    4. Rebind Report: 一般狀況下,請勾選 此欄位,我們會一併更新報表綁定的資料集.

powerbi-push-step16.png

在選擇 Power BI Workspace Name 時,會跳出視窗讓使用者選擇 workspace.

powerbi-push-choose-ws-found.png

我的 Workspace 沒出現在列表中 ?

您可能會注意到,當你在 Power BI 新增群組工作區 ( Group Workspace ) 後,會無法馬上在 Cannerflow 上看見,這使因為 Power BI Rest API 不會得到最新的資料,如下圖,當你建立了一個 workspace,並按照前面的步驟授權給 Cannerflow Power BI App

當下看到的列表可能是空的 powerbi-push-choose-ws-not-found-1.png

需等待一段時間後才能生效,等待時間可能落在 20 - 40 分鐘左右. powerbi-push-choose-ws-not-found-2.png

  1. 步驟 3: 觀察 Power BI Push Dataset 的狀態,待 Status 變為 Synced 就代表資料推送成功

powerbi-push-step17.png

資料也會出現在 Power BI Service 上供使用 powerbi-push-step18.png

如何設定排程更新#

在產生 Materialized View 時,您若有選擇排程更新,在每次自動更新時,或是您在 Materialized View 頁面,點選 Refresh 做手動更新時,都會讓 Power BI Push Dataset 進入 Preparing 的狀態,代表 Materialized View 正在更新,且資料正在準備被推送到 Power BI Service.

狀態的意義

Power BI Push Dataset 一共有三種狀態

  1. Preparing: 代表 Materialized View 正在更新
  2. Syncing: 代表資料正在被傳送到 Power BI Service 上
  3. Synced: 代表資料完成傳送

問題答案集 (FAQ)#

1. 請問相關限制 ?#

  1. 一個資料集最多 75 個欄位
  2. 一個資料集最大容納 1,000,000 筆資料

2. 請問有時會看到 Power BI Push Dataset 失敗,出現 Failed 的提示,該如何處理 ?#

請您檢查以下幾個點:

  1. Power BI Service 上,Credential 上是否有刪掉,或是權限設定上有沒有做變更
  2. Power BI Service 上,Storage 是否達到 Workspace 的限制

若以上幾點都沒問題,且之前排程也都成功,那代表 Power BI Service API 因不穩定,丟錯誤回來,我們發現 Power BI Service API 服務並不是 100% 穩定,有時候會失敗,但請不用擔心,CannerFlow 會自動重新排程把資料再次推送過去.

3. 創建 Power BI Push Dataset -> 選擇 workspace 時,我的 Workspace 沒出現在選擇列表中 ? / 我的 Workspace 列表是空的 ?#

您可能會注意到,當你在 Power BI 新增群組工作區 ( Group Workspace ) 後,會無法馬上在 Cannerflow 上看見,這使因為 Power BI Rest API 不會得到最新的資料,如下圖,當你建立了一個 workspace,並按照前面的步驟授權給 Cannerflow Power BI App

當下看到的列表可能是空的 powerbi-push-choose-ws-not-found-1.png

需等待一段時間後才能生效,等待時間可能落在 20 - 40 分鐘左右. powerbi-push-choose-ws-not-found-2.png