Forum Discussion

powerbidev123's avatar
powerbidev123
Solution Sage
22 days ago
Solved

Report creation

I need to build a monitoring report giving a global overview of an entire Power BI tenant: number of reports, dashboards and datasets per workspace, refresh status and failure history, and usage indi...
  • Shai_Karmani's avatar
    21 days ago

    Since you're on Pro without Fabric capacity, the standard path is the Power BI REST Admin APIs, typically called from a service principal that has Tenant.Read.All granted by a Fabric admin.

     

    The two workhorse endpoints are the Workspace Scanner API (/admin/workspaces/getInfo, called async as getInfo then scanStatus then scanResult) which returns workspaces, reports, dashboards, datasets and users; and the Activity Log (/admin/activityevents) which gives you usage events like report views, refreshes and sharing actions. For per-dataset refresh status use /groups/{groupId}/datasets/{datasetId}/refreshes.

     

    To historize it, land the raw JSON into an Azure SQL DB or even a shared OneDrive folder as CSVs and then point a dedicated admin-monitoring PBIX at that store. Schedule the pulls with an Azure Function, an Automation runbook, or a Power Automate flow. Bear in mind the Activity Log only exposes the last 30 days, so you must pull it daily if you want any real history.

     

    If this was helpful, please give a thumbs up and mark it as resolved.

     

    Best regards,
    Shai Karmani

     

    Let's connect in LinkedIn