
Measure Killer
a governance tool for Power BI & Microsoft Fabric

-Find and remove all unused columns and measures
-See where a column or measure is used (24 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

New features in v2.9.2
Semantic model similarity score
Let's you find similar or even duplicate semantic models.
As you can see on the right side, we have one model that is a duplicate and then some other models that are very similar (80% similarity)
We can customize the weights (what should be compared, e.g. only the tables, measures, M expressions or other attributes)
The details can be seen on the right side (what is the
same, in case of 100%, or what is different, in case of
lower % numbers).
Power BI report similarity score
This is just like model similarity but with traits from the
report (pages, visuals, report-level measures etc.)
Table relations analysis
This brand-new feature offers a way to reduce complexity
of semantic models with many relationships to find out which
table can filter another table (via other tables in the data model).
It provides all filter paths between two tables.


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

Data Lineage (from data source -> report)
-Get an end-to-end lineage from data source to report across workspaces
-Also shows how many models and reports are connected to a source
-You can even search for tables in this view

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 items

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 (incl. org apps)
-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

Fabric Notebooks
-Lists all Notebooks, their location, for Fabric admins also who has access to them
-Gives you the lines of code per notebook
-Audit your Notebooks for individual packages or other keywords

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.
-
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
-
DAX user-defined functions are not fully detected in Pro workspaces
-
Hierarchies used in Paginated Reports are not taken into account

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 Softchoice or SHI International Corp.
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.9.2
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
Current Version 2.9.2
The store version requires admin rights.
Release notes for 01/29/2026
Version 2.9.2
[FEATURES]
- Compare multiple reports in your tenant with the new Report Similarity feature.
- You can now see where hierarchies are used across reports.
- Table relations: inspect all possible relationship paths connecting two tables.
- Execute DAX queries against any semantic model, including models in Pro workspaces.
- New suggestion: Review whether auto-detected relationships are actually required.
- New suggestion: Remove artifacts used only in filters without a filter query and not activated by a bookmark.
- New report best practice rule: avoid using implicit measures.
- Added Notebooks export in Tenant Analysis.
- Enhanced DAX duplicate detection, including treating: CALCULATE ( Expression ( [Column] ) ) as a duplicate of Expression ( [Column] ).
- Added Excel export with all uses to the table context menu (suggested by Justin).
- You can now provide the format string for the rule "Provide format string for "Date" columns."
[BUG FIXES]
- Fixed missing quotes in DAX expressions when using Enhanced Text Search.
- Best practice rules no longer run on ignored artifacts when using Partial Analysis (reported by AlwaysNewDepth5 in the feedback section).
- Fixed error in 1-click cleanup: 'NoneType' object has no attribute 'save_model_changes'.
- Removing DAX artifacts no longer continues execution after a connection error.
- Fixed Lineage tab crash caused by circular references exceeding maximum recursion depth.
- Resolved CurrentModel attribute error (reported by Justin via the feedback section).
- Trial licenses now correctly disable exports in free modes.
- Fixed issue where # characters were removed from M queries in the UI and exports.
- Resolved visual error: cv_visual_display_name attribute missing (reported by Pascal).
- Fixed DateTime API fallback failures during license activation.
- False negative for a column in Power Query when creating a chain of references and removing the original column from the original table in a intermediary table (Reported by Carlos)
- Circular reference for downstream semantic models using direct query in Limited Tenant Analysis
[MISC]
- Improved error handling for all context menu (right-click) actions.
- Translations, annotations, data categories and descriptions are now preserved when restoring artifacts.
- Added more actions to the Notebooks context menu.
- New columns added to the DAX tab: lineageTag, displayFolder, and description (suggested by Nick in the feedback section).
- Improved violator descriptions for several best practice rules.
- Improved paginated report dependencies behavior in the UI

