Power BI: Show the Last Refresh Date Automatically in Your Reports
Juan Carlos Santiago
Power BI: Show the Last Refresh Date Automatically in Your Reports
The number one question from stakeholders looking at a dashboard: "Is this data up to date?" Here is how to answer that question permanently with an automatic refresh timestamp.
Method 1: DAX Measure (Simple)
Create a new measure in your model:
Last Refreshed = "Updated: " & FORMAT(NOW(), "MMM DD, YYYY HH:MM AM/PM")
Add a Card visual and drop this measure in. Done.
Caveat: NOW() evaluates at query time, which is the refresh time for imported models but the current time for DirectQuery.
Method 2: Blank Query (More Reliable)
- In Power Query Editor, create a new Blank Query
- In the formula bar, type:
= DateTime.LocalNow() - Rename it to
LastRefreshDate - Convert to a table and set the data type to Date/Time
- Close and apply
Now create a measure:
Refresh Timestamp = "Data as of: " & FORMAT(MAX(LastRefreshDate[Column1]), "MMM DD, YYYY hh:mm AM/PM")
This captures the exact moment the dataset was refreshed, not when the user opens the report.
Method 3: For Dataflows
If you use Dataflows, the refresh date is already tracked. Create a connection to the dataflow metadata and display it.
Formatting Tips
- Place it in the report footer or header area
- Use a small font size (8-10pt) in a muted color
- Add conditional formatting: turn it red if the refresh is more than 24 hours old:
Refresh Color = IF(NOW() - MAX(LastRefreshDate[Column1]) > 1, "Red", "Green")
Pro Tip
Add a tooltip that shows the refresh schedule alongside the timestamp. Stakeholders appreciate knowing not just when data was last updated, but when the next update is coming.
Works with Power BI Desktop, Power BI Service, and embedded reports.
