How can we improve Power BI?

Built in Git support in PowerBI Desktop

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

279 votes
Sign in
(thinking…)
Sign in with: facebook google
Signed in as (Sign out)

We’ll send you updates on this idea

Matt Smith shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

3 comments

Sign in
(thinking…)
Sign in with: facebook google
Signed in as (Sign out)
Submitting...
  • Bob L commented  ·   ·  Flag as inappropriate

    Fantastic write up Matt. Totally agree with the github angle too - it makes too much sense not to pursue.

  • Matt Smith commented  ·   ·  Flag as inappropriate

    Just to expand on the "why version control \ git" from newbie point of view.

    Version control is essential for any developer regardless of level. Version control allows you to track changes. It's highly unlikely you are going to ever develop a perfect solution, even if you are a expert, first time that isn't going to require any changes. By tracking changes it allows you to quickly identify WHEN something has changed, WHAT has changed - as you can "diff" the old vs the new file and if you have added a useful commit message, WHY something has changed.

    Git is a distributed version control system. This means there is no spoon. I mean there is no server. Every copy has everything and is equal. Because of this commits are performed locally and you "push" them to remote servers, this means you can develop offline then push when you are back online. Pushing basically means you have a backup and allows others to "clone" your work (permissions willing). Git has become the defacto code version control.

    The current problem is Power BI Desktop creates PBIX or PBIT which are .zip binary files. This means you can't "diff" the files, so you can't track changes - you can't see that you've changed the [Price] measure to [Price - Exc VAT]. In addition because you can't "diff", you can't merge changes - which you need to do if you have more then one developer working on a project. So if Dev-A changes [Price] to [Price - Exc VAT] and Dev-B adds [Price - Inc VAT] you can't work independently then merge the two together. This limits Power BI development to a single developer.

  • Tom commented  ·   ·  Flag as inappropriate

    If this were to be implemented it would truly raise the level of Power BI development. This combined with the upcoming XMLA endpoint exposure would make proper collaborative enterprise level work possible.

Feedback and Knowledge Base

Ready to get started?

Try new features of Power BI today by signing up and learn more about our powerful suite of apps.