Power BI Report Server capture Last Refresh Date and Time

I am using Power BI Report Server with scheduled dataset refresh enabled for my reports. I would like to display the last successful data refresh date and time directly in a Power BI dashboard hosted on Report Server.

I understand that the ReportServer database contains tables and views such as Catalog, Subscriptions, Schedule, and ExecutionLog3, but it is not clear which one reliably records the actual dataset refresh execution time.

From Microsoft documentation, it appears that report executions are logged in ExecutionLog3, but the documentation does not clearly state how to identify dataset refresh events specifically.

  1. Which table or view in the ReportServer database reliably stores the dataset refresh execution time?

  2. How can we filter only refresh events (and not normal report views)?

  3. What is the recommended or standard approach to capture and display the last refresh timestamp in a Power BI Report Server dashboard?

Hi @mahendran-m

I happen to have a Power BI report that shows exactly what you want that I found in a forum online years ago, and I use it regularly to monitor report usage, data refreshes, and much more for my on-prem installation.

I attached the Power BI template file. When you open it in Desktop, enter your server name and use ReportServer as the database name, and it will load right up (I tested it to make sure :slight_smile: ).

PBIRS Monitoring.pbit (30.6 KB)

It does use ExecutionLog3 for all the data. And importantly, it includes all SSRS reports as well as Power BI. There is a whole page for the refresh data. My favorite feature is filtering on Item Path and seeing who has been using which Power BI reports and when. Have fun!

John