Forum Discussion
LuigiBros
Helper I
1 year agoCustom Usage Metrics Report (for all reports and all workspaces)
I have an ambitious plan to create a single "golden" report to monitor the usage of all reports across all workspaces. What would be the best approach for this? Has anyone done something similar...
- 1 year ago
Hi LuigiBros ,
Favourable Approach is:
-
Connect to Power BI REST API
- Use the Admin API to get usage details across workspaces.
- Key endpoints:
- GetActivityEvents → Fetch user activity logs.
- GetReportsAsAdmin → List all reports.
- GetAppUsersAsAdmin → Fetch app access details.
-
Extract Individual Users from Azure AD Groups
- API returns group emails, not individual users.
- Use Microsoft Graph API (/groups/{id}/members) to expand group members.
- Store user mappings in a separate dataset.
-
Build a Power BI Report
- Load API data into Power BI via Power Query (Web Connector).
- Model relationships between reports, workspaces, users, and access logs.
- Use DAX measures for insights like most-viewed reports, active users, and trends.
Challenges & Solutions:Issue: API limits (e.g., GetActivityEvents pulls 30 days of data).
➡ Solution: Schedule incremental refresh for continuous tracking.Issue: Access data is in groups, not users.
➡ Solution: Use Microsoft Graph API to resolve group members. -
audreygerred
Super User
1 year agoHi! If you are able to get access to the audit logs you should be able to create whatever you want. It holds 90 days worth of info, so if you want to build it out for longer, have the data stored in your data warehouse and refresh it daily and connect PBI to your warehouse. Track user activities in Microsoft Fabric - Microsoft Fabric | Microsoft Learn