Power BI 報表設計的實用訣竅 (Power BI Report Design Tips)
2020-09-22
歸納整理 Power BI New Features ,盤點整理並納為自己設計報表時的解決方案選項。收錄包括利用報表的角色來控制報表的安全性。
目錄
根據使用者的角色決定可以看到的內容 (RLS, Row Level Security)
角色的管理介面可以由 Power BI Desktop 工具面板「模型」中找到。
可以依據業務邏輯的需求,創建不同的角色。接著是定義不同角色分別對於不同的資料表有不同的篩選檢視權限,這邊如果有複雜的邏輯,需要藉由 DAX 來輔助篩選的作業。
在報表伺服器中,可以選取報表並為報表依照AD或者AD群者授予角色,如此一來擁有不同角色的使用者就會呈現不同的報表內容。
參考的 DAX Function
使用 REST API 與報表伺服器互動
使用 REST API 與報表伺服器互動,能夠讓管理員以自動化的方式管理報表伺服器。可以進行的包括移除快取、取得資料夾及路徑下的檔案以及其他值得探索的功能 😏
取得報表伺服器的所有資料夾
https://localhost/reports/api/v2.0/Folders
查詢路徑包含關鍵字的報表項目
https://localhost/reports/api/v2.0/CatalogItems?$filter=Contains(Path,'keywords')
參考資料
MS Doc - 使用 Power BI 報表伺服器中的 REST API 進行開發
OData - Built-in Filter Operations & Built-in Query Functions
深入的認識 Power BI Architecture
確認 Power BI 報表以及使用的排程
SELECT Report.[ItemID]
,Schedule.ScheduleID
,[Path]
,[Name]
FROM
[PowerBIReportServer].[dbo].[Catalog] AS Report
LEFT JOIN
[PowerBIReportServer].[dbo].[ReportSchedule] AS Schedule
ON Report.ItemID = Schedule.ReportID
WHERE Schedule.ScheduleID IS NOT NULL