Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hello,
I have a basic report and its dataset comes from an OData feed.
I would like to know if it's possible to create 'versioned reports' where each report represents the state of the data pulled from the feed at time of creating it.
What I determined is that sure, I can create multiple reports and archive them in SharePoint for example. But since the data source is always the OData feed the data in every report is always dynamically updated i.e. the latest state of the data.
Is it possible to have each report have a different 'snapshot' of the data coming from the OData feed?
Thanks for your help.
Solved! Go to Solution.
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
Thank you! I will take a look at it right away. If I may ask because perhaps I'm approaching this all wrong:
We want to build some kind of bare bones Data Warehouse where we can host a history of reports with their datasets so that we can, ideally, simply open the report and view the state of the data from when the report was created/archived.
Is there an easier solution? Otherwise, of course, I appreciate you mentioning this new feature.
Thanks.
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