March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
The behavior of reports in the Power BI service means that after a model is refreshed, a user opennig a report can see totally inconsistent results as they interact with the visuals - sometimes seeing data before the refresh, and sometimes after.
Repro would be as follows:
1 Have model in the service refreshed with Mondays data
2 User opens report, and selects slicer for Country France: they see Mondays data
3. User selects slicer for Country Germany : they see Mondays data
4 Refresh model with Tuesdays data
4 User selects slicer for Country France again : they see Mondays data (as hitting cache)
5 User selects slicer for Country UK : they see Tuesdays data (as missing cache)
6. As they continue to interact, whether they are seeing Mondays or Tuesday data is totally unknown to them and unpredicatable - it depends on how the system chooses to use caches
7. User reopens the report sometime later - it still remains true that could be Mon or Tuesday data, depending on query cache use [This seemed really surprisng - it certainly occured once for me - I have not tried to reproduce]
8. User refreshes visuals - now everything is sorted out, and everything shows Tuesdays data
Note I explained here using example of slicer selection by country, where it might not be obvious to the user they are looking at different versions of the data - though in other cases it can be utterly myterious, and look like PBI is returning different and incorrect data on a whim.
I understand query caches need to be used, and that the user has a way to clear IF they know that the model has been refreshed. But seeing as step 6 is a terrible state to be in - using incoherent caches is bad data - then somewhere on the way to that state, the caches should be discarded. Either:
- at step 5 (the first time query misses the cache, upon discovering the model has been refreshed, the system should clear the old caches)
- at step 7 (at least when the user reopens the report, which they might reasonably expect is sure to be getting the latest data)
Presumably the caches age out - so if the user repeatedly reponed the report over subsequent days, presumably they eventually see Tuesdays data without needing to refresh visuals. So there Power BI is silently refreshing the visuals (discarding cache) with no user interaction - step 5 is a MUCH better point to do this.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.