
Measure Killer
an external tool for Power BI & Microsoft Fabric

-Find and remove all unused columns and measures
-See where a column or measure is used (21 categories)
-Report and model best practice analysis
-Easily search all your DAX expressions
-Easily search all your M Code
-Get a tree view of your dependencies
-Export a documentation of your model and report


Free (Power BI Desktop)
Paid (Power BI Service)

Optimize and clean your shared Power BI semantic models
Everything from above
+
Across all connected Power BI reports
Paginated Reports
Excel files
Downstream/composite models (incl. changes)

Give it a try
-Request a free trial
-Use our sample data built into Measure Killer
-Request a demo
-Add local files (e.g. Excel connected to semantic model)
-Full lineage view (see screenshot on top right)
-Incl. report-level measures
-Report views (last 30 days)
-Average report load times (in seconds)
-Run multiple models at once

Tenant Analysis (Scans your entire tenant)
-Tenant summary
-Model lineage and data source lineage
-Access / Permissions (users and groups)
-Semantic model metadata
-Dataflow metadata
-Report metadata

Tenant summary
-Shows all Power BI and Fabric items
-Provides a list of all workspaces and their items and users

Model lineage and data source lineage
-Power BI Semantic model lineage (screenshot below) shows all connected reports, downstream semantic models and Dataflows
-Provides the same for all connections / data sources in your tenant

Access tab
-Lists all users & AD/Entra groups and their permissions
-Shows all workspaces and who has access to them
-Provides detailed access rights to all Power BI and Fabric artifacts (semantic models, reports etc.)

Semantic models
-Lists all your Power BI models with basic info (size, tables, columns, storage mode etc.)
-Refresh history (date, success/fail etc.), refresh schedule, avg duration
-Best practice analysis (BPA rules, can be customized, soon you can create your own rules too)
-Easily search through all DAX expressions (duplicate detection) and M code

Dataflows (Gen1 and Gen2)
-Lists all your Dataflows with basic info (type, workspace, number of queries)
-Refresh history (date, refresh/fail etc.), refresh schedule, avg duration
-Easily search through all M code

Apps
-Lists all Apps in your tenant
-Provides all audiences (incl. which reports belong to it, settings and users/groups assigned)
-Shows you how often each App has been consumed (opened in the last 30 days)
-Provides additional information like Contacts, reports, Excel files that are part of the app etc.
-Also includes contact information, last update as well as descriptions for each app
-Full information on App access (users, groups)

Reports
-Lists all your Power BI reports
-Shows report views and page views
-Number of pages, visuals, custom visuals (certified or not) and average report load times
-Report-level measures

What does Measure Killer detect?
-
Visuals - including filters applied to visuals, on pages or the whole report.
-
Artifacts only used in custom visuals
-
Conditional formatting
-
Any kind of measure (incl. report-level measures) or relationship
-
Columns used exclusively in Power Query, e.g. in joins, appends, references etc.
-
Calculated columns
-
Calculated tables
-
Row-level and object-level security (for OLS see compatibility below)
-
Calculation groups
-
Field parameters
-
Visual calculations
-
Column sorting, key columns, row labels
-
Used in mobile view
-
Used as dynamic M parameter or for change detection in DQ mode
What does not work?
-
If you copy paste whole reports or individual pages and then only do some minor changes, this can in rare cases lead to false references (unfortunately this is an internal issue with Power BI Desktop which even exists with .pbir)
-
Restrictive sensitivity labels (like "confidential") can lead to errors when analyzing local files. The tool can throw a message like "this is not a valid zip file"
-
If you have a column and a measure with the same name and the column is used in a Paginated Report it will also wrongly show the measure as used in the same Paginated Rep.
-
Auto date/time hierarchies used in conditional formatting are not detected
-
Personalized visuals are not detected
-
Using M parameters for connecting to dataflows (lineage) do not show up in the lineage
-
The "Explore this data (Preview)" feature is not detected for any type of usage
-
Using a column only in query string parameters in the URL of a report is not detected

Measure Killer Compatibility
legend
✅ fully compatible
? limited compatibility
✗ currently not working
General:
✅ .pbix (Desktop and Desktop RS)
✅ .pbip (Power BI Project files - incl. Enhanced Report Layout)
✅ .pbit
✅ DirectQuery
✅ Composite models
✅ Downstream semantic models (paid versions only)
✅ Thin files / Live connection (paid versions only)
✅ Direct Lake (paid versions only)
✅ Paginated reports (paid versions only)
✅ Analyze in Excel on top of a semantic model (paid versions only)
✅ All connected reports in the Power BI Service (paid versions only)
✅ SSAS and AAS (Tabular only)
✗ Dashboards
✗ .bim files / models stored in a folder etc.
✗ Metrics (Goals)
✗ Exploration items
✗ Activators
Feature compatibility:
✅ Row-level security
✅ Object-level security (table with OLS is identified, columns are not)
✅ Calculation groups
✅ Field parameters
✅ Dynamic format strings
✅ Visual calculations
✗ KPIs (created in the tabular model)
Compatibility of visuals:
✅ Standard visuals (all, unless listed below)
✅ Icon Map
✅ Zebra BI visuals
✅ HTML VizCreator Cert
✅ HTML VizCreator Flex
✅ Balance Sheet Visual
? Other custom visuals (We have not tested Measure Killer for all custom visuals)
✗ Q&A visual
✗ Paginated report visual
✗ Metrics (Goals) visual

Measure Killer pricing
The free version can be used without any restrictions personally and commercially.
Go to the Download section to get started
To unlock paid features inside the application or to get priority support from the Measure Killer team, please purchase a license.
Want to deal with a U.S. entity? Check out resellers like SoftwareOne.
Measure Killer basics (analysis of a single model/report)
Removing unused columns and measures from a shared semantic model
Introduction to Tenant Analysis (scanning your whole Power BI / Fabric tenant)
Measure Killer Security Information and Documentation
Version 2.8.0
Please download our security whitepaper from here.
If you have questions about Measure Killer, you can always get in touch with us
E-Mail: gregor@brunner.bi
Measure Killer - Download and Changelog
Aktuelle Version 2.8.0
The store version requires admin rights.
Release Notes for 07/10/2025
Version 2.8.0
[FEATURES]
- Unloaded Queries tab: lists every M query, parameter, and function that isn’t loaded to the model.
- 13 new Fabric artifacts surfaced in Tenant Analysis: Environments, Warehouses, Eventstreams, Copy jobs, KQL databases, Eventhouses, Exploration items, ML models, Spark job definitions, ML experiments, KQL query sets, KQL dashboards, and Variable libraries.
- M expressions now available for each Dataflow query.
- Enhanced M-expression lexer for syntax highlighting.
- Dataflows Gen 2 CI/CD fully supported.
- New 'Connect From External Application' activity added.
- Export Clean TMDL and 1-Click Cleanup can now remove unused inactive relationships and unloaded queries.
- Tenant settings export added to Tenant Analysis.
- Report themes added to all modes.
- The tool will now warn when a model is connected to another model via import mode (Analysis Services workaround).
[BUG FIXES]
- Eliminated false positives in paginated-report analysis caused by missing table references in DAX expressions.
- Fixed duplicated dependencies when two parent models share the same table name in downstream semantic models.
- Removed the “NoneType” source lineage tag error.
- Running Measure Killer with an empty report no longer raises an exception.
- Corrected false negatives in paginated reports when measures are referenced as Table[Measure] in a SQL Query.
- Stop button not working in Shared Online and SSAS modes.
- Several save/load issues resolved.
- Power Query data now refreshes after multiple consecutive runs.
- Fixed excel connection warning not showing for models linked to Excel files in Shared Online mode for tenant admins.
[MISC]
- Improved error handling for XMLA-endpoint connections.
- Enhancements to the Apps tab in Tenant Analysis.
- Refined page and report view metrics in Tenant Analysis.
- Consistent date-time sorting across all tables.
- New global setting for datetime display format throughout the app.