Skip to main content

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

Abhinav on 06 Jul 2020 00:13:45

RE: Built in Git support in PowerBI Desktop

This is higly required as only Power BI reports are the ones left out of Dev Ops pipeline as of now in entire technology stack in many projects.

Matt Smith's profile image Profile Picture

Power BI User on 06 Jul 2020 00:13:37

RE: Built in Git support in PowerBI Desktop

Version control integration with DevOps would be really helpful

Matt Smith's profile image Profile Picture

DaweiZ on 06 Jul 2020 00:12:11

RE: Built in Git support in PowerBI Desktop

As a data engineer, I'm using Power BI in a team. One of the problems is we cannot do code review to Power BI reports, as PBIX/PBIT are binary files.
Let's say some one change a Power Query in the report, which will affect the data import. But it's in the binary, no body will notice this change easily, which introduces a bug, until someone refresh the data, and find there is something wrong in the report a few days later.

Matt Smith's profile image Profile Picture

Power BI User on 06 Jul 2020 00:11:42

RE: Built in Git support in PowerBI Desktop

Come on, lets get this done ASAP ...

Matt Smith's profile image Profile Picture

Adi Priyanto on 06 Jul 2020 00:10:52

RE: Built in Git support in PowerBI Desktop

This feature is really really needed

Matt Smith's profile image Profile Picture

Douglas Plumley on 06 Jul 2020 00:08:52

RE: Built in Git support in PowerBI Desktop

Yes please!

Matt Smith's profile image Profile Picture

Sau D on 06 Jul 2020 00:08:17

RE: Built in Git support in PowerBI Desktop

I am approaching this issue from the context of a long time user of SSRS. I understand that Power BI was intended for the business audience. I am opinion that the source files of Power BI should be readable (XML/JSON) similar to the RDL format of SSRS. This allows for inspection of changes (code review, differencing) and makes source control a viable option.


Definitely - keep the business user in mind. But, remember that mission critical reports would need to go through a review process and this would be very difficult without having the ability to do a due diligence, a.k.a source control/code review/pull request.

1)Open and readable format (XML, JSON)
2)Easy publishing throuhg Azure Dev Ops
3)Visual Studio project template which allows integration with Git (similar to SSRS)

Matt Smith's profile image Profile Picture

Lutz on 06 Jul 2020 00:08:04

RE: Built in Git support in PowerBI Desktop

Like many others I have created a semi-automatic process that extracts the content of the .pbit file (and some of its included nested archives) into a git readable structure. It's a good first step, but a native integration would be so much easier. Every time the .pbix gets uploaded to the workspace the .pbit contents should be pushed into git.

Matt Smith's profile image Profile Picture

Nathan Baird on 06 Jul 2020 00:07:55

RE: Built in Git support in PowerBI Desktop

My team does version control of pbix in GIT today. We have a git-commit hook that detects when a pbix file is being added, it automatically extracts the contents from the pbix (which is a zip), pretty prints some of the files (particularly nested json strings), and automatically adds the auto-generated files as part of the commit. Much of how powerbi stores things internally is still not really comprehendible at Code Review time (eg. rather than using enums with friendly string names, they use ints to identify certain operations).

In addition to providing something like the above (rather than us having to build it), it would still be nice to have the publishing connected to sharepoint work automatically. Sharepoint APIs are not great - simply moving a 'local' file in git to sharepoint with the APIs + Auth is not straight forward - so we've been unable to set up an azure dev ops pipeline to publish when commit is merged to a release branch. Would love to see a Azure Dev Ops pipeline task that would simply publish pbix files if they make it to master.

Matt Smith's profile image Profile Picture

John Bonfardeci II on 06 Jul 2020 00:07:20

RE: Built in Git support in PowerBI Desktop

You can't version control Power BI files with Git because they contain binary data. But you can use SharePoint document libraries to store different versions.

Merged Idea (6)