Source Control with Power BI - Can it be done?

preview_player
Показать описание
Can we use source control, or version control, with Power BI? We get this question ALL THE TIME! Adam walks you through what your options are and how this works today with Power BI.

Latest updates for Deployment Pipelines:

Source Control Idea


*******************

Want to take your Power BI skills to the next level? We have training courses available to help you with your journey.


*******************
LET'S CONNECT!
*******************


***Gear***

#PowerBI #SourceControl #GuyInACube
Рекомендации по теме
Комментарии
Автор

As some others have stated, *.pbix aren't technically binary files, they are just re-badged zip files. If you change the extension and open it, basically everything inside (aside from actual binaries like images) are stored as plain text and easily diff-able.

That said, there are ways to effectively use source control on pbix with some automation using pre-commit and post-commit hooks. The pre hook would unpack the pbix in to a folder of the same name, and THEN push those component pieces to source. The post-commit hook would then re-bundle what it gets from source control in to the appropriate pbix (zip) file/archive. I have been looking to implement this at my workplace for some time and haven't done so yet, but there are examples of people out there that have done it.

Mostly this whole situation is infuriating to me as it means Microsoft could provide solutions to this source control problem very easily within their framework. Especially given they OWN GitHub and could VERY EASILY just add a feature (optional) to auto-unpack and re-pack PBIX files for source control.

dominicwrapson
Автор

When the complexity level of reports gets real having an appropiate version control is crucial. I do not know why they haven't implemented a way of handling version control yet. Even more so when the pbix file is a zip and there are traces that pbix work with configuration files and the like...

terenskate
Автор

Thoughts? Easy.
As long as pbi does not have source control, using it relies on some external software/management process. Otherwise using it is really amateurish and error-prone.
I mean, if anything goes wrong, but does not turn up in a dev pipeline (or there is none), it can't just be rolled back.
This feels so wobbly in our daily work.

fluffigverbimmelt
Автор

Which is the visual to get that USA Map in the report? Thanks

andreavega
Автор

At 0:53 I think you meant "Diffs", but the video shows "Divs"

AnweshGangula
Автор

0:57 shouldn't that be "diffs", not "divs"?

kalleguld
Автор

The .pbix file is a renamed .zip file. Change the extension to .zip Now you can see what is in the file. Might be able to do something in there.

pabeader
Автор

I’ve played with a different approach in GitHub Actions. One every PBIX commit/change I parse the file and spit out a Markdown file that represents all the relevant pieces of the file in a more or less readable form. The areas that I interpret are model stats, pq, DAX measures and visuals types and positioning. Then I commit the md file along side the pbix file with the same commit message as the original change. This was the Markdown file works as a proxy for easy interpretation of what has changed in the original PBIX file. It’s enough to answer the most often asked questions, what has changed, was the change done only in the model or visuals as well etc

igorcotruta
Автор

for security reasons, you should never put the pbix in the source code controller as it contains the data. use the pbit. I hope that the future true microsoft solution for version management and source code control of power bi will take this into account: do not include the data.

raynaldgirard
Автор

This will be a great update, but I think that the PBI pipelines may support more than 3 stages.. i.e. De/QA/UAT/..../Stage/ Prod

andresgeb
Автор

Using ALM toolkit for comparing 2 PBIT files.

sau
Автор

Did your editor fucked up by confusing div with diff?

iiiiii-wh
Автор

We have a setup where Power BI datasets and reports are stored in Azure Repo Git Repositories. We also have CI/CD pipelines for a multitenancy-like scenario where the same datasets and reports can be deployed to different customer workspaces. The TL;DR version is it can be done, but it takes A LOT of work.

Outside of parameterizing the data source connections, we found it also helped to add a parameter for the number of rows you load. Saving the dataset with 0 rows loaded helps reduce the file size before you check in your code. Generating an HTML data dictionary helps a little with being able to compare differences in the model.

Creating pipelines that can deploy the same datasets and reports to different customer workspaces in our case was a lot of Powershell Core scripts. I found it challenging to deploy the same source files to different workspaces that use different data source connections with their own respective on-premises data gateways. Trying to do this while preserving datasetIds and reportIds for me was really hard and I felt like I need to create "hacks" to finally get it work.

snowke
Автор

Using the Power BI actions available in the Marketplace for the CI/CD implementation using Azure DevOps for Power BI

dipsikhadas
Автор

What I am wanting and waiting for the ability to do version control on the visuals and actual report components. ALM toolkit plus One Drive is fine for my model tracking and deployment.

evnpresson
Автор

Hi Adam, That's a brilliant spacecraft version history maintained on your T-shirt as well 😀👌

abhikmukherjee
Автор

Do you have an example on how we can deploy PBI report using GitHub actions? The new PBIP integration only works with DevOps. How can we customize it for GitHub users?

HJilova
Автор

Hi Adam, have you had the chance to try one of the Azure Dev Ops Extensions to get the Power BI CI/CD working?

keaganjordan
Автор

I know at one point, we'd saved them as templates just to have the versions without all of the data, but still can't "diff" those. I appreciate the tips here and look forward to true versioning/diffing at some point. :)

PeterSchott
Автор

This update will be very welcome! I have struggled a lot about a year ago trying to do something similar.

marquesman