Co-Develop in Power BI Desktop: Creating an NHL Draft  

November 2, 2023

In May 2023 Microsoft announced Fabric, an end-to-end, human-centered analytics product that brings together all an organization’s data and analytics in one place. Accompanying the announcement of Fabric are features that improve Power BI’s relationship with Developers. One such feature is the improved co-development experience. 

How Are Several Developers Able to Work together in Power BI?  

Until these recent announcements, it was difficult for more than one developer to work on reports or datasets in Power BI, and it was easy to overwrite someone else’s changes, resulting in lost work. Furthermore, when searching for a previous version of a report or attempting to re-deploy an accidentally deleted report on the Power BI web portal, you might be out of luck.  

Developers use source code repositories (repos), such as Git, to maintain a history of changes to source files, detect how changes affect earlier versions, and recover from disasters, such as accidental deletes. Source code repos are better suited to detecting and resolving conflicting changes from multiple developers. Without this feature, it is easy for one developer to overwrite someone else’s changes without realizing it. 

By initializing a Git repo for your dataset and reports you can unlock co-development to save time, isolate change requests, and track those changes among several Power BI authors, allowing them to collaborate more efficiently and safely. 

Co-development

When using a Git repository (as shown above), developers have a local copy (or “branch”) of the repo files, and their changes are committed locally. They can access changes made by others on the remote repo (in Azure DevOps) by pulling them to their local repo and merging them with their changes. Any conflicting changes can be addressed by that developer. Once they are satisfied with their local changes, they can push those changes to the remote repo.  

The Report 

To demonstrate Co Development using Power BI and Azure DevOps I created an NHL Family Draft Report that scrapes the NHL’s website for playoff points and integrates our draft selections to create visuals showing which family member is in the lead on any given day. I also highlight how two developers can continue to work on that same report in harmony.  

Power BI NHL Draft example

Save as PBIP and Initialize repo to unlock Co-Development. 

I opened my original NHL Family Draft Report (.pbix) file in Power BI Desktop, then enabled the Power BI Project save option, which is currently a Preview feature.  

Power BI save option

I used VS Code to create a new Git repo in C:\temp\PBI-Devops. Then in Power BI Desktop, with my original PBIX file opened, I selected Save As PBIP (PBI Project file), which created the files and folders shown below.  

Power BI Project
Power BI Desktop PBIX file

Above are some files located in the folders. When a Power BI Desktop PBIX file is saved as a PBI Project, the code is now saved in many smaller text files, rather than one binary PBIX file. This improved folder structure makes it much easier to track code changes by comparing text files rather than comparing a single large binary PBIX file. 

Co-Develop: Split up the workload, work in harmony. 

One family stakeholder (let’s call him Hudson) says “Dad, I need a scatter chart that puts the Sum of Goals on x-axis and Sum of Assists on the y-axis for further analysis. Can you do this now?” 

Another asks for the dataset to be updated so the Top Scorer is displayed at any given time. 

It would be beneficial to split the tasks and assign one to the report developer (Hudson) and the other to the dataset developer (Dad). 

This report is what Dad and Hudson are starting with before they make their changes:

Co-developed Power BI report

Hudson can now create a branch of the PBI Project source code from the repo to work on the new report request. 

Below is the new report visuals that was requested.

New Power BI report

And Dad can branch and work on the new dataset request. 

After Dad makes his changes in Power BI Desktop, he adds a column named “Calculated Points”, and a measure titled “Top Scorer” in the second section and updates the main visual.  

Power BI Desktop

This is what the report contains after Dad’s changes.  

Power Bi Report

Dad finishes his requirement allowing Hudson to merge the change into his own branch so that Dad’s change can be used by Hudson. 

Flow chart of the co-development process

After receiving Dad’s changes, Hudson creates another PR with his changes and the report has both completed requests in the main branch – both the dataset change allowing the Top Scorer to be displayed and the new visuals. 

Below is the report with both requests completed using co-development.  

Power BI Co-development example

With the new feature in Power BI Desktop that integrates with source code repositories, you can unlock co-development to save time, isolate change requests, and track those changes among several Power BI authors, allowing them to collaborate more efficiently and safely. 

If you have a BI project in mind, get in touch with us. And make sure to follow our blog for more tips, tricks, suggestions, and to stay updated on all the new industry trends. 

Jesse is an expert on SharePoint Framework

Discover More

Microsoft Fabric

SQL Saturday Part 2: Learning About Microsoft Fabric 

Mike DiehlFeb 29, 20246 min read

SQL Saturday Part 2: Learning About Microsoft Fabric   February 29, 2024 I’ve been digging into Microsoft Fabric recently – well overdue, since it was first released about a year ago.…

SQL Saturday

My Trip to SQL Saturday Atlanta (BI Edition): Part 1 

Mike DiehlFeb 23, 20245 min read

My Trip to SQL Saturday Atlanta (BI Edition): Part 1  February 23, 2024 Recently, I had the opportunity to attend SQL Saturday Atlanta (BI edition), a free annual event for…

Enabling Bitlocker

Enabling BitLocker Encryption with Microsoft Intune 

Rasmin PatiuFeb 15, 20245 min read

Enabling BitLocker Encryption with Microsoft Intune   February 15, 2024 In today’s data-driven world, safeguarding sensitive information is paramount, especially with the increase in remote work following the pandemic and the…

Let’s build something amazing together

From concept to handoff, we’d love to learn more about what you are working on.
Send us a message below or call us at 1-800-989-6022.