top of page

1-Click Optimization and Fabric Git Integration

In Measure Killer's version 2.2.0 a new preview feature was added: the "1-Click optimization". It allows users to remove all unused measures, columns and tables with a single click.

This is a really easy way of cleaning up a model, boosting performance and reducing costs.

However, such an automation can be risky, especially when running the optimization on semantic models in the Power BI Service, where any changes would be permanent.

How can all the benefits of 1-Click be obtained without the concern of irreversible changes?

Setting up Fabric Git Integration

One option is using Fabric Git Integration. This feature enables version control of Fabric items, allowing the user to track the changes and revert them as needed. You can find more details in the official docs here.

After the integration is set up in a workspace, it will look like this:

Workspace with the Fabric Git Integration correctly set

In Azure DevOps, it's possible to see the file structure created for the reports and semantic models:

Workspace file structure in Azure DevOps repository

Running 1-Click Optimization

To run 1-Click, the first step is running Measure Killer in the "Shared/golden dataset online" mode ("Tenant admin mode" also works) and selecting one of the semantic models in the workspace with Git integration:

Measure Killer results for one of the semantic models in the workspace

Then select the 1-Click optimization button, highlighted above. After the process is done, an execution summary describing everything that was removed will be shown

1-Click execution summary, describing everything that was removed

Going back to the Power BI Service and refreshing the workspace, there are now uncommitted changes to the model that 1-Click was run on (Power BI Report for Switzerland TMDL)

Uncommitted changes made by Measure Killer's 1-Click Optimization

Now you can choose between committing the changes or undoing them. If committed, the changes made by MK can be inspected in Azure DevOps to ensure they are correct

Commit inspection in Azure DevOps

If an undesired change happened

If something went wrong, there are several ways of reverting the changes using different Git commands. One easy way is using the "Revert" option in Azure DevOps:

"Revert" option in Azure DevOps to revert commit changes

This will create a branch reverting the changes and merge it back to the main branch, keeping everything as it was before.

If everything went well

If the changes are correct, the optimized semantic model is ready to be refreshed, and the unused measures, columns and tables are already removed! The process can be repeated in Measure Killer to safely optimize other semantic models in the workspace.


By using 1-Click optimization and Fabric Git Integration in tandem, it's possible to safely remove unused artifacts from semantic models in a simple and fast manner, having the option to revert the changes if necessary.

PS 1: In this post, a TMDL model was used to help visualizing the changes, but the same process applies for a non-TMDL model.

PS 2: An even safer approach would be to create a branch in the repo before running 1-Click and merging it to the main branch afterwards.

0 Ansichten0 Kommentare


bottom of page