Skip to main content
Microsoft Idea

Power BI

Completed

Built in Git support in PowerBI Desktop

Vote (3223) Share
Matt Smith's profile image

Matt Smith on 28 Feb 2019 17:19:38

When you create a PowerBI report in Power BI Desktop it transparently create \ use a git repository. So you just worked normally, then when you hit publish, it actually push to remote.

Gitignore could be used to exclude data from being published to the repository. PowerBI would have version control which is desperately needed.

This would work well with the whole Microsoft buying Github \ Azure DevOps, both from the perspective of promoting good practices such as code version control and CI\CD - process of developing in development and promoting to UAT\production

It would also allow IT to get visibility of code, allow tests to be run - such as moving DAX calculated columns with M

This would also solve the other ideas:
https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/17523715-report-version-control


https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/7861287-dataset-report-version-control

https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/34315045-seamless-version-control-of-queries-data-model-st

https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/9677517-source-control

https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/9080776-using-git-or-some-other-sccs-to-store-m-queries-n

Administrator on 06 Dec 2023 16:56:47

Released for public preview in June 2023: https://powerbi.microsoft.com/en-us/blog/deep-dive-into-power-bi-desktop-developer-mode-preview/

Update 10/17: This is now in our upcoming roadmap and we will share more details in the coming months. Mo

March 2022 update: We are working on this item but no timeline can be shared yet. We appreciate your patience

Comments (82)
Matt Smith's profile image Profile Picture

on 30 Sep 2021 22:02:02

RE: Built in Git support in PowerBI Desktop

It would be very useful for enterprise development teams to be able to branch a data model from an existing pbix file (or the service) and then make changes such as relationship definition, measures etc and merge them back into the file. It would allow multiple developers to work on a single model and resolve conflicts as they arise.

Matt Smith's profile image Profile Picture

on 30 Sep 2021 22:02:02

RE: Built in Git support in PowerBI Desktop

This would require the ability to export the report (no data, no Power Query*) from the Power BI file as it's own git friendly file type. This would then allow full version control.

It may also require a "dataset" included template. Which would be a everything in the current template method, but git friendly format.

*like a PowerBi report that connects to a data set in PowerBi service.

Matt Smith's profile image Profile Picture

Matt Carter on 24 Jun 2021 19:58:15

RE: Built in Git support in PowerBI Desktop

Exactly how many votes are needed to get this on the roadmap?

Matt Smith's profile image Profile Picture

Konstantin Kosinsky on 26 May 2021 15:58:31

RE: Built in Git support in PowerBI Desktop

"Git connection can also enable parallel editing of a pbix file". +100 for that. Parallel editing is the main reason for push back from users during migration from competitive product

Matt Smith's profile image Profile Picture

Raj Rao on 20 May 2021 22:03:36

RE: Built in Git support in PowerBI Desktop

Linting: Its the process of running automated code analysis tools to check for potential errors. Because BiM is a son file, one could run checks to make sure that one isn't checking in code smells (example: auto date time, CamelCased visible fields, etc).

Today, the above process can be implemented using Tabular Editor. The problem with TE is that users have to manually run it. Instead if the file was output automatically everytime one saves the PBIX file, then you will see it as a change and you would check it into source control with your pbix file. You could then run TE's Best Practice Analyser as the linter on the BiM file and flag issues.

Matt Smith's profile image Profile Picture

Daniel Saager on 04 May 2021 10:21:00

RE: Built in Git support in PowerBI Desktop

Git connection can also enable parallel editing of a pbix file

Matt Smith's profile image Profile Picture

Andy Clapham on 10 Feb 2021 16:50:57

RE: Built in Git support in PowerBI Desktop

@Craig Schupp - that's pretty much exactly what save-as pbit (Template) file does.

But there's more to VCS than simply keeping old versions around ... that's just backup. The key enabler of VCS that revolutionises team software development is branch and merge. To be able for two people to start with the same version, each make independent changes, and then to identify the changes and merge them together into a (usually!) working integrated version is the foundation of how complex software is developed now.

Now as our reports get more and more complicated, and different people want to collaborate around a key report and add fields, measures, new data sources etc, I've found we've hit exactly the problem that VCS solves.
Unfortunately without a mergeable format (i.e. a text format that tends to keeps things that change cohesive, but separate from other changes) it's impossible to manage without VCS.

However ... I've been playing with the deserialization of pbits (they're a zip file of json/xml files) starting with the excellent work that kodonnel and Vineet Naik have done here:
https://github.com/awaregroup/powerbi-vcs

I've now got it to a point where diffs are manageable (splitting the largest files into subfiles) useful (removing ever-changing modified times that simply aren't relevant) and mergeable (a bit more expansion into lines for multiline text, and of course repackaging back to the real pbit format). And it really works well!

It's a bit hacky though ;)
But it is *possible* and that's the key. If MS could tweak their template serialization format a little, we would all get a huge boost to the manageability of Power BI reports for more complex scenarios.
And adding git support would then be trivial ;)

Matt Smith's profile image Profile Picture

Craig Schupp on 07 Feb 2021 05:35:09

RE: Built in Git support in PowerBI Desktop

We had been storing pbix files on github, till we started dropping in large volumes of data into the reports. Then the filesize became a huge consideration.

A method of "cleansing" a file of cached data might solve this. That is, the moment someone loads up the file, they'd have to refresh the data to pull it in from scratch. Feel like this should exist as a default state for most reports to reduce the size of files when sharing across an organization.

Matt Smith's profile image Profile Picture

Diego Oliveira Sanchez on 14 Dec 2020 11:05:51

RE: Built in Git support in PowerBI Desktop

We are a small software development company looking for ideas for a new product based on Power BI, e.g. some add-on or companion product to enhance Power BI's functionality. It seems that most of the ideas in this forum are the kind of feature that Microsoft would have to implement (i.e. there is a requirement to use their internal APIs/systems). Version control could maybe be done by a third-party company though.

Some sort of a version control/git system integration would be the kind of thing we would love to develop, but it doesn't seem feasible at the moment since files are saved in binary format rather than text-based. Are there any plans to change this format any time soon? Does anyone have any feedback/ideas on a workaround to make this possible at all? Am I missing something? Any help would be appreciated.

Matt Smith's profile image Profile Picture

Gavin Clark on 27 Nov 2020 17:19:50

RE: Built in Git support in PowerBI Desktop

A lot of the internal mysteries of the PBIX file have been removed with the new metadata format - it just needs a simpler way to expose this (you have to export to a template file PBIT).

IMO, the easiest way to achieve this would be the ability to create a PBIT file from a PBIX file via the command line with arguments for the target directory and perhaps some additional parameters.

You could then automatically drop the PBIT file into specific folders which are consumed/monitored by your preferred code management platform ?

Merged Idea (6)