Blog

Version control in Power BI

Erkka Moisio Analytics Consultant, Solita

Published 05 Jun 2024

Reading time 3 min

This is the third part of a blog series on good Power BI practices. Topics vary from development tips to governance and from documentation to version control with concrete examples when applicable.  

Read the second part of the series about deployment pipelines here.

Think about a situation where you are making a change to an already existing Power BI report which was originally done by your teammate. In a simple environment with only a few developers, the main goal is to keep track of changes and revert to previous versions if needed. In a team environment simple version tracking might not be enough. Multiple developers might be working on the same reports, potentially overwriting each other’s changes. At that point, branching and merging might come in handy.

Version control methods in Power BI

The choice of version control method in Power BI depends on the complexity of the environment and the number of developers. Simplest form of version control is a local storage of files. In a single developer environment this could be sufficient but will become insufficient fast if another developer is added to the mix.

One solution is to use Power BI service in conjunction with any cloud storage solution or SharePoint. When you publish a report to Power BI Service, you can save it to e.g. SharePoint. This allows multiple developers to work on the same report. However, working in parallel isn’t possible as the changes can’t be merged through version control.

The Power BI Service will always display the latest version stored in SharePoint. Users must follow the check-out/check-in procedure in SharePoint and provide clear change notes with each updated version.

In a complex environment with multiple developers a more robust version control system like Azure DevOps with Git can be used. These systems allow for branching and merging, which are essential when multiple developers are working on the same project. When you are using a version control system in your project consider also using a deployment pipeline.

When working with Azure DevOps and Git, the file format used for version control is the key:

  • PBIX: This is the standard Power BI file format. It includes the data model, queries, and visualisations. It’s suitable for version control when the data and the report are in the same file. Binary format and large file size due to including data isn’t the best combo and it doesn’t allow branching and merging.

  • PBIT: This is the Power BI template file. It includes everything a PBIX file does, except the data. It is useful when you want to share the structure of your report without sharing the data. This saves space as the file size is usually a lot smaller without data, but branching and merging still are not possible.
  • PBIP: This is the Power BI Project file. It does not include data but breaks the file out into text-serialised files, so branching and merging becomes possible. It is still in public preview, but there is a lot of positive feedback on the functionality, and it is estimated to be GA in late 2024.

Conclusion

Whether you are a single developer or part of a large team, Power BI offers a range of options for managing version control. By understanding these tools and choosing the right one for your needs, you can ensure that your Power BI development process is efficient, manageable, and effective. Regardless of the chosen approach, do not forget good commenting practices!

If you want to know more or implement these features, you can contact us. 

  1. Tech