使用 Power BI Push Dataset
您將了解
- 如何使用 Power BI Push Dataset
- 如何設定排程更新
- 問題答案集 (FAQ)
Power BI Service 設定
接下來幾個步驟,要在 Power BI Service 上設定好相關權限,並取得需要的資訊後續可填入到 Canner Enterprise 中.
步驟 1: 應用程式註冊
- 應用程式註冊 > 建立一個應用程式,名字可為
Canner Power BI Push Dataset App
.
- 點選建立好的 Canner Enterprise Power BI Push Dataset App > 複製好 「應用程式 (用戶端) 識別碼 (Application ID) 」與「 目錄 (租用戶) 識別碼 (Tenant ID)」,接下來的步驟會使用到.
·
3. 點選憑證及祕密 > 在用戶端密碼
區塊,新增用戶端密碼,可以在建立時設定較長 (24個月為佳),以避免過期的問題。
- 複製
Canner Power BI Push Dataset
secret 的值 (Application secret).
在這個步驟,請務必把 secret 的值複製起來,後面再回來看,會無法複製值.
步驟 2: 建立安全性群組
- 進入 Azure Active Directory > 群組,並點選「新增群組」
在搜尋找
Azure Active Directory
在此頁面點選「新增群組」
- 在建立時於「成員」輸入剛剛建立好的應用程式
Canner Power BI Push Dataset App
,群組類型選擇「安全性」
- 建立完成後如下圖:
步驟 3: 啟用 Power BI 服務系統管理員設定
- 接著為了要讓這個服務主體 Canner Enterprise 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
- 透過指定「特定的安全性群組」,可以把對 API 的存取權限限縮在該安全群組中,接著後續我們便可以讓特定的工作區,透過添加該安全性群組來被 Power BI API 存取操作。
步驟 4: 將服務主體新增至您的工作區
- 透過「建立工作區」建立一個需要藉由 Power BI API 存取的工作區 > 接著點選新建立好的工作區,並開啟工作區存取 ,如下為 test-power-bi:
工作區存取與建立工作區 需要具有 Power BI Pro 產品的權限,該權限與 Power BI 管理員角色的權限不同,如下圖來自 Azure AD 中使用者 > 授權 (License) 的確認:
若沒有 Power BI Pro 產品權限,可透過這邊做設定,Power BI 服務中透過右上角的「管理入口網站 ( Admin Portal )」 > 使用者 > 前往 Microsoft 365 系統管理中心
並在開啟 Microsoft 接著點選已作用中的使用者,編輯使用者的授權與 App 授權,開啟 Power BI Pro(如果開啟並儲存就會進行刷卡)。
- 輸入在 Azure AD 中建立好的安全性群組:
如此屬於工作區,因為有了這個安全性群組 Canner Enterprise Power BI App ,便能讓隸屬在安全性群組中的 Canner Enterprise Power BI Push Dataset App 服務主體 ( Service Principal ) ,獲得該 Power BI 的 API 存取權限,並且能只作用在添加該群組的工作區中。
Canner Enterprise 設定 Push Dataset
步驟 1: Create Power BI Service Principal Credential
輸入前面步驟取得的
- Application ID (應用程式 (用戶端) 識別碼, 於應用程式註冊成功後,在資訊中取得)
- Application Secret (於應用程式註冊成功後,在憑證與秘密中取得)
- Tenant ID (目錄 (租用戶) 識別碼 (Tenant ID), 於應用程式註冊成功後,在資訊中取得)
步驟 2: Create Push Dataset
- 點擊 create
Create a Push Dataset
- 接著,會跳出表單,需填寫以下資訊
Credential Name
: 選擇上個步驟創建的Power BI Service Principal Credential
Power BI Workspace Name
: 選擇推送到哪個 Power BI 上 workspace 中Materialized View
: 選擇推送的 Materialized ViewRebind Report
: 一般狀況下,請勾選 此欄位,我們會一併更新報表綁定的資料集.
在選擇 Power BI Workspace Name
時,會跳出視窗讓使用者選擇 workspace.
您可能會注意到,當你在 Power BI 新增群組工作區 ( Group Workspace ) 後,會無法馬上在 Canner Enterprise 上看見,這使因為 Power BI Rest API 不會得到最新的資料,如下圖,當你建立了一個 workspace,並按照前面的步驟授權給 Canner Power BI App
.
當下看到的列表可能是空的
需等待一段時間後才能生效,等待時間可能落在 20 - 40 分鐘左右.
- 步驟 3: 觀察 Power BI Push Dataset 的狀態,待 Status 變為
Synced
就代表資料推送成功
資料也會出現在 Power BI Service 上供使用
如何設定排程更新
在產生 Materialized View 時,您若有選擇[排程更新](/v1/product/workspaces/sql/materialized_view# 1. 排程管理:),在每次自動更新時,或是您在 Materialized View 頁面,點選 Refresh
做手動更新時,都會讓 Power BI Push Dataset 進入 Preparing
的狀態,代表 Materialized View 正在更新,且資料正在準備被推送到 Power BI Service.
Power BI Push Dataset 一共有三種狀態
- Preparing: 代表 Materialized View 正在更新
- Syncing: 代表資料正在被傳送到 Power BI Service 上
- Synced: 代表資料完成傳送
問題答案集 (FAQ)
1. 請問相關限制 ?
- 一個資料集最多 75 個欄位
- 一個資料集最大容納 1,000,000 筆資料
2. 請問有時會看到 Power BI Push Dataset 失敗,出現 Failed 的提示,該如何處理 ?
請您檢查以下幾個點:
- Power BI Service 上,Credential 上是否有刪掉,或是權限設定上有沒有做變更
- Power BI Service 上,Storage 是否達到 Workspace 的限制
若以上幾點都沒問題,且之前排程也都成功,那代表 Power BI Service API 因不穩定,丟錯誤回來,我們發現 Power BI Service API 服務並不是 100% 穩定,有時候會失敗,但請不用擔心,Canner Enterprise 會自動重新排程把資料再次推送過去.
3. 創建 Power BI Push Dataset -> 選擇 workspace 時,我的 Workspace 沒出現在選擇列表中 ? / 我的 Workspace 列表是空的 ?
您可能會注意到,當你在 Power BI 新增群組工作區 ( Group Workspace ) 後,會無法馬上在 Canner Enterprise 上看見,這使因為 Power BI Rest API 不會得到最新的資料,如下圖,當你建立了一個 workspace,並按照前面的步驟授權給 Canner Power BI App
.
當下看到的列表可能是空的
需等待一段時間後才能生效,等待時間可能落在 20 - 40 分鐘左右.