Forum Discussion

colonel_claypoo's avatar
colonel_claypoo
Frequent Visitor
4 years ago
Solved

Newbie question: Dataset/report versioning with OData

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 pull...
  • Burningsuit's avatar
    Burningsuit
    4 years ago

    Hi colonel_claypoo 

    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