Forum Discussion
Newbie question: Dataset/report versioning with OData
- 4 years ago
Typically, this type of snapshotting is best done outside Power BI in the original data, creating archive copies of the original data and reporting on that.
But you may have a few other options.
Firstly, if data is not being erased from the data feed, and is simply accumulating by date, it should be possible to filter by ,say, transaction date, to show the position at any time in the past. This is the simplest solution, just let the data grow over time, unless you have multi-millions of records Power BI will be able to cope with it, and report on the historical position within the Report.
However if data is being removed from the data feed (and you have to ask why ?) then you can't show the historic position by using dates (as the data isn't there anymore). In that case you'll need to manually control refreshing and publish a new Dataset and Report whenever you want to take a snapshot. This will not scale well if you have a lot of data or a lot of reports from the Dataset, and will need a lot of manual management. That's why it's better to archive data in the original, or just let it grow.
Finally you may be able to do something with Dataflows to approximate a data warehouse see: Introduction to dataflows and self-service data prep - Power BI | Microsoft Docs and Dataflows in Power BI – BI Polar (ssbipolar.com). If I needed to store snapshots of original data that was otherwise being deleted this would be my approach, but you'll need to learn up on Dataflows and see how best to apply them.
It's a big subject, and there is no one easy answer but I hope this helps
Stuart
You're right, you can't have "snapshots" of data in Power BI as you describe. Reports are always updated to reflect the data in the Dataset.
However you might want to look at the new Power BI "Goals" feature.
This allows you to take a regular snapshot of one or more values from a Report , say a KPI or Total Figure. And store it in a Goals Dasboard. This creates a historic view of the change of the data values.
It also stores the value in a new Power BI Dataset, along with the date and time of each snapshot, so you can write reports based on this data to show the change over time.
See Introducing Goals in Power BI | Microsoft Power BI Blog | Microsoft Power BI
Hope this helps
Stuart