Wednesday, September 26, 2018

ALM Toolkit Simplifies Power BI Deployment

Key Challenges

   Ability to compare data models between two Power BI reports.
   Allow multiple developers to work on the same data model and reduce the effort required to merge changes.
   Ability to selectively deploy changes to a target environment.
   Create a report detailing changes that can be easily shared with stakeholders.

Business Case

When building enterprise applications, DevOps teams manage multiple environments. Maintaining separate environments for development, testing, and staging allows teams to control which features are pushed to production, minimizing the impact on end-users during feature releases.

When moving Power BI datasets from one environment to another, DevOps teams must track the differences in measure calculations and dimensions between source and target environments. Comparing changes becomes complex when multiple developers work on updates for the same product. Currently, there is no solution to compare and merge changes made by multiple developers in Power BI.

The Microsoft Power BI team partnered with us to create a solution that improves version control and release deployment in Power BI development environments.


In collaboration with the Microsoft Power BI team, we created the Application Lifecycle Management (ALM) Toolkit. ALM Toolkit allows developers to compare data models, merge changes by multiple developers, generate reports detailing changes, and selectively push changes to production.

Key Highlights

   View differences between two data models.
   Selectively push changes by allowing developers to skip, update, create, or delete prior to making an update.
   Generate an Excel report with the differences between two data models.
   Update the target model from directly within the toolkit.

Figure 1: Source and target selection
Developers begin by selecting the source and target workspace and dataset (Figure 1). The differences window is then loaded along with a diff editor, allowing developers to see which definitions were updated (Figure 2).

Figure 2: Diff editor
The contextual menu allows developers to skip multiple items (Figure 3). Alternatively, developers can click the notch next to any cell to select individual rows.

Figure 3: Using the contextual menu to skip items
If a developer does not select a parent node when creating objects, the toolkit will not create corresponding children. Similarly, if a developer deletes a parent node, the corresponding children will be deleted.

Once a developer validates selections using the validate button, he can then click the update button to update the target. Developers can also export a list of the changes to Excel using the Report Differences button. Developers can save the comparison and selections and later open the saved file if they do not want to update the target immediately.

Business Outcome

ALM Toolkit improves release deployment of Power BI datasets, enabling developers to efficiently track changes, merge changes from multiple developers, create reports detailing changes, and push features to production.

Outcome Highlights

   Improved productivity by reducing the effort required to merge data models.
   Improved developer experience with the ability to control changes that are pushed to target environments.
   Improved efficiency by enabling developers to generate reports of changes to share with stakeholders.

Source Code