Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
mbbozzuto
Advocate II
Advocate II

Source Code Control management for Power BI reports

We are using the Power BI premium per user in our enterprise and we have multiple reports in the Power BI Service ecosystem.  Since we have multiple users can step in to create or edit reports, managing report versions is becoming an issue.  Equally, it is not possible to have multiple people working on a single report at the same time.  We have also run into multiple instances where we can no longer download reports from the Power BI service if the report has been moved or copied between work spaces, which is a major issue if we need to edit an existing repoert.

 

Is there any way to store in source code control, like Github, the underlying report definition (JSON, XML, or ?) so that we have a central repository?

 

Other ideal use cases under this scenario:

  • ability for multiple users to contribute to a single report at the same time
  • ability to scan all reports to identify which datasets/table/column/measures are actively in use in reports
  • ability to standardize certain template settings
1 ACCEPTED SOLUTION
ImkeF
Super User
Super User

Hi @mbbozzuto ,
you might be interested to check out this community-tool: Welcome to pbi-tools | pbi-tools

It aims to provide Source Control and DevOps for Power BI .

 

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

View solution in original post

5 REPLIES 5
ImkeF
Super User
Super User

Hi @mbbozzuto ,
you might be interested to check out this community-tool: Welcome to pbi-tools | pbi-tools

It aims to provide Source Control and DevOps for Power BI .

 

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

@ImkeF wow, this tool looks amazing!  I went through the tutorial and it seems to be hitting on exactly what I am looking for.  I still want to do some more testing, particularly on reports that are isolated from the data model, but the way it extracts the report configurations into JSON that can then be source controlled is what I was looking for.

 

NOTE: in the tutorial, I went through the steps and got to the point where I tried to re-hydrate the compiled .pbit file but it threw an error trying to connect to the data source saying a connection could not be made: https://raw.githubusercontent.com/pbi-tools/adventureworksdw2020-pbix/main/data/

 

I also tried the link directly entered into a browser and it also threw a 400 error; is that data still hosted at that link?

 

QUESTIONS:

  1. When editing the .pbit in Power BI Desktop after compiling it from JSON source, will any modifications to the report be saved back to the JSON report files in the extracted file structure, or will I need to always go back through the 'pbi-tools extract' command to convert the PBIX/PBIT file to a new file structure that can be committed back to source control (GitHub)?
  2. Related to the last question, will the 'pbi-tools extract' command overwrite all contents of an existing directory so that I can save edits to a PBIX to an existing directory that is connected to a Github repo?
  3. Does 'pbi-tools extract' command only work on a .PBIX file or will it also work on a .PBIT?

 

Danke!

Hi @mbbozzuto ,
strange that the re-hydration didn't work. I'm attaching the pbit (in zip-format) and pbix referencing that folder.
And although you cannot open that path in an ordinary internet browser, you will find them under this path there instead: adventureworksdw2020-pbix/data at main · pbi-tools/adventureworksdw2020-pbix (github.com)

Re your other questions:

1) Yes, if you run pbi-tools in watch-mode, everytime you click save in PBI Desktop, the folder structure will be saved.
2) Yes, it will overwrite in git, but keep the change history, like git does for version control

3) You can also use it on pbit-files, just check folder structure, there is one hierarchy-level missing.

Please check out this video that gives a very good intro to the tool: (1) PBI Tools: Source Control for PBI - Des Moines Power BI UG - YouTube

 

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

Greg_Deckler
Super User
Super User

@mbbozzuto So, this is a broad subject. Often, version control of PBIX files is done by saving the Power BI PBIX as a template and checking the template into source control, either GitHub or even a SharePoint document repository. Working on the same report simultaneously isn't very well supported in Power BI unless you are editing/authoring the reports in the Service. You can improve this capability by separating the datasets from the reports, so have a central dataset that is published and using DirectQuery for Power BI Datasets to connect to that dataset and create the report visuals. In terms of bullet 2, @ImkeF has developed tools to help with this. Also, in the Service there is a lineage view that can also help. For standard template settings, use themes and create a report template that is used as a starting point for reports. A lot of this is covered in Mastering Power BI 2nd Edition.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Thanks @Greg_Deckler for the reply and feedback.  Saving the .pbix/.pbit in source control isn't quite what I'm thinking because as far as I can tell, that is some form of a compiled file that can only be viewed/modified using within Power BI desktop.  We separate all of our reports from our datasets where we have Power BI datasets running in the service and then connect to them in Power BI Desktop to build reports that we publish to the service for sharing.  We use the Tabular Editor tool to modify the data model and then push that to the service through XMLA end point; the data model definition is saved in a source control repo that multiple developers can contribute to through pull requests and that works really well.  It would be great to replicate that functionality in reports where basically the underlying report definition file could be edited and analyzed as code in a json like structure (similar to saved themes) and then Power BI desktop/service could render that file.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.