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)
- Merged Idea (6)
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.
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.
RE: Built in Git support in PowerBI Desktop
Exactly how many votes are needed to get this on the roadmap?
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
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.
RE: Built in Git support in PowerBI Desktop
Git connection can also enable parallel editing of a pbix file
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 ;)
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.
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.
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 ?