The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hello,
I need to monitor PowerBI dataset refresh from different customers. Most of them have their reports deployed on app.powerbi.com...
I know that I can send automatically an email in case of failure but it requires the recipient to be in the same domain and since we are a consulting company we should monitor multiple customers without having a dedicated email adress for each of them.
I did some search already but did not find any solution...
Do you have any idea?
Thanks.
Sylvain
Solved! Go to Solution.
Hi @Sylvain74,
I am not aware of any such functionality. But I think you could make use of the Power BI APIs, to be specific the refresh APIs which upon invoking, will return a JSON response with details about the success/failure of the last refresh.
There are several Python libraries that you could use to write a simple Python script that calls the API and checks the refresh status of each data set. If you have a computer that is always on, then you could create a scheduled task using Windows task scheduler and schedule the python script to run at a predefined frequency and subsequently process the returned JSON responses and store the processed responses in a database table (for example SQL Server) programmatically. You could further use this table in a Power BI dashboard to monitor the refresh status of all the datasets.
I never had any such requirements and therefore I have never searched for any such functionality.
This is something I could think of and ideally, this approach should work.
Have you considered using Power Automate to trigger your refreshes?
The trigger will allow you to cascade through your dataflows to refresh your dataset, while being able to receive notifications via email or save the outcomes into another storage format i.e. a spreadsheet on sharepoint.
Hi Sreenathv,
Thanks for your quick answer! I had a look on Power BI Rest API and according to the documentation we can get status of dataset refresh (Datasets - Get Refresh History - REST API (Power BI Power BI REST APIs) | Microsoft Docs)
On top of that it seems that we can directly source a Power BI report from an API. See this video (How to Call Power BI Rest APIs from Power BI Desktop – Register your Power BI Application – Part One...)
I am note sure it will work but it's quite interesting.
Hi @Sylvain74,
I am not aware of any such functionality. But I think you could make use of the Power BI APIs, to be specific the refresh APIs which upon invoking, will return a JSON response with details about the success/failure of the last refresh.
There are several Python libraries that you could use to write a simple Python script that calls the API and checks the refresh status of each data set. If you have a computer that is always on, then you could create a scheduled task using Windows task scheduler and schedule the python script to run at a predefined frequency and subsequently process the returned JSON responses and store the processed responses in a database table (for example SQL Server) programmatically. You could further use this table in a Power BI dashboard to monitor the refresh status of all the datasets.
I never had any such requirements and therefore I have never searched for any such functionality.
This is something I could think of and ideally, this approach should work.