Author: Tamica McNally
The World of Power BI External Tools and Their Benefits
Introduction
Power BI, as a standalone tool, has seen significant improvements and additions to its functionality since its introduction. While there is a plethora of in-house available features that can be used by developers to build, test and document their reports and semantic models, there is a whole other world of external tools that can be used to significantly improve this process as well as provide additional functionality to turn you into a Power BI wizard (or witch, whatever your vibe is).
Each of these tools comes with its own unique set of features – in this article, I’ll be walking through two of my favourites – ALM Toolkit and Measure Killer, including some of their features as well as limitations (every rose has its thorn ☹)
ALM Toolkit
The ALM Toolkit is a free and open-source tool for managing Power BI semantic models. Once downloaded, it provides enhanced functionality when developing, maintaining and deploying datasets as ALM Toolkit supports partial dataset deployments. This means you can selectively deploy changes from your local semantic model to Power BI Service, or between semantic models within Power BI Service, without having to deploy the entire dataset.
This feature is handy when you want to deploy only specific updates or modifications, such as new measures, calculated columns, or changes to relationships, while keeping the rest of the dataset unchanged. Partial deployments are achieved through the schema comparison and merging functionality of the ALM toolkit.
Here’s a high-level overview of how it works:
- Comparing Semantic Models: ALM Toolkit allows you to compare two Power BI semantic models, such as a development version and a production version. It identifies the differences between the two datasets, including new, modified, or deleted elements.
- Select Changes to Deploy: After comparing the semantic models, review the differences and select the changes you want to deploy. This can include specific tables, columns, measures, hierarchies, and other metadata elements.
- Merge Changes: After selecting the changes to deploy, the ALM Toolkit merges these changes into the target semantic model. This process ensures that only the selected modifications are applied, leaving the rest of the semantic models intact.
- Deploy: Finally, you can deploy the merged changes to your target environment
This partial deployment capability helps streamline the development process, reduces the risk of errors, and allows for more granular control over semantic model updates.

Limitations
The semantic models being modified in the Power BI service must be located in a Premium-enabled workspace. This is due to the ALM toolkit using the XLMA endpoints to manage the partial deployments, which is a premium-only feature.
ALM toolkit can be used to compare/deploy:
- between datasets in the Power BI service
- eg, a semantic model in DEV (source) and the same semantic model in UAT (target)
- between a Power BI desktop semantic model (source) and a Power BI Service semantic model (target)
- eg, making changes in the semantic model file and publishing these changes to DEV in the Power BI service
The ALM toolkit is unable to deploy changes:
- from Power BI desktop file (source) to desktop file (target)
- from Power BI service (source) to desktop file (target)
Basically, you can’t deploy back into a desktop file.
If you’re thinking of deploying to the service and then downloading the file as a workaround, unfortunately, you will find that you’re no longer able to download the file. Once a semantic model in the service has been modified using the XLMA endpoint, it cannot be downloaded as a local desktop file.
In conclusion, ALM Toolkit is an essential tool for Power BI developers managing complex models and collaborative environments. It enables the effective management of data models by allowing schema comparisons, deploying changes, and integrating source control for Power BI datasets. With its ability to detect differences, merge changes, and validate model consistency, ALM Toolkit supports efficient development workflows and reduces the risk of errors across the delivery lifecycle.
Measure Killer
Measure Killer is another external tool with an incredible range of use cases, accompanied by sassy messages. This tool is free for basic functionality (which, in my opinion, is sufficient for solo developers and smaller projects). Still, it has a paid version to unlock full functionality within your Power BI tenant.
Developed by Brunner BI, this tool helps developers identify and remove unused measures, columns, and calculated columns from their data models. By analysing metadata, it pinpoints elements not utilised in visuals, filters, DAX expressions or Power Query steps, enabling a cleaner and more efficient model. Measure Killer can generate scripts for manual cleanup or directly remove unused items, streamlining the optimisation process. Additionally, features are offered, such as model documentation, dependency analysis, and tenant-wide scans, making it valuable for both individual developers and enterprise teams aiming to maintain lean and performant Power BI environments.

When you start Measure Killer (free version), you have the option of a single model and a report for a shared model. The first option is for when you have your semantic model and report in the same file, while the second option is for when you have your semantic model and report in separate files. After selecting the files to connect, the results are displayed for unused elements.

One of my favourite components of Measure Killer is the ability to compare your model and report against sets of ‘Best Practices’ rules. It scans for issues such as unused measures, columns, poorly named objects, or many-to-many relationships, helping developers maintain clean, consistent, and efficient models.
By highlighting deviations from recommended practices, it supports model optimisation and aligns reports with governance standards. This scoring is based on a ‘Violation Score’, which depends on the severity of the violation and the number of times it occurred. Violation scores over 800 will result in Measure Killer calling you a ‘Power BI Criminal’, so be warned.

The paid version of Measure Killer offers a comprehensive suite of tools designed to give Power BI and Microsoft Fabric administrators deep insight and control across their environments. Users can gain a detailed view of the entire tenant, including capacities, workspaces, individual items, and domains, providing a clear understanding of what assets exist and how they are organised. Pricing for the paid version starts at around $130 AUD a month for small enterprises.
Security and access management are also significantly enhanced. Administrators can easily see who has access to what, whether at the workspace, report, or dataset level, including insight into user groups. Tasks that are usually time-consuming, like mass granting or revoking access (even for personal workspaces), can be executed in bulk. There is also full visibility into row-level security settings across all semantic models, including role definitions, security expressions, and user and group assignments. You can also monitor who has access to specific Power BI apps and their audiences.
In terms of usage and consumption, Measure Killer provides robust reporting capabilities. You can view detailed usage statistics for all reports (even down to page-level views) and discover which reports or apps haven’t been used in the last 14 or 30 days. It also tracks how many users are connecting Microsoft Excel to your Power BI models, providing key insights into how your data is being consumed across the organisation.
Data lineage and impact analysis are made more efficient by allowing users to trace the flow of data from data sources through semantic models and down to individual visuals. This helps in identifying where specific database views, columns, or measures are used (or not used) across all connected reports. This powerful visibility supports better governance across the organisation.
The platform also provides detailed insights into refresh operations across all semantic models and data flows, including scheduling and average duration, helping teams better manage and troubleshoot performance issues.
Finally, the export and backup capabilities are extensive. Users can export all DAX expressions (including measures, calculated tables/columns, and visual calculations), M code from data flows and semantic models, and even backup report layouts and metadata. Full lineage exports are also supported, showing connections from data flows and models to reports, which is essential for auditing and documentation purposes.
Limitations
Unfortunately, Measure Killer has some limitations, but in my opinion, these are outweighed by the benefits.
- Restrictive sensitivity labels such as ‘confidential’ can produce errors when analysing local files, throwing an error message such as ‘this is not a valid zip file’
- Personalised or custom visuals are not fully supported. Measure Killer can detect which reports use custom visuals and flag uncertified ones, while native Power BI visuals are fully supported, including visual usage, applied measures and filters. Custom visuals are also excluded from some best practices and optimisation rules, as Measure Killer is unable to analyse internal configurations.
- Dashboard files or .bim files/models stored in a folder are unable to be analysed
The key difference between the free and paid versions of Measure Killer lies in the depth, automation, and scalability of insights and actions available. While the free version offers helpful analysis on individual Power BI files, such as identifying unused measures and applying best practices, the paid version expands this functionality to the entire tenant, providing visibility, bulk operations, advanced governance tools, usage tracking, data lineage mapping, and comprehensive export and backup capabilities. In short, the free version is a great starting point for local optimisation and smaller teams, but the paid version is built for enterprise-wide management and control.