Measure Killer Measure Killer

These docs are still being polished — a few sections and screenshots are on the way. Spotted something off? Let us know.

Find unused objects in Analysis Services models (SSAS & AAS)

Run Measure Killer's used/unused analysis against SQL Server Analysis Services and Azure Analysis Services Tabular models — see exactly what's referenced before a migration, so you only move what's actually used.

What you get

Measure Killer doesn’t only analyse Power BI semantic models — it runs the same used/unused, where-used analysis against Analysis Services Tabular models, both:

  • SSAS — SQL Server Analysis Services (on-premises)
  • AAS — Azure Analysis Services

For every column, measure, and table in the model you get the same output as a Power BI semantic model scan: a used/unused status, a count of references, and the full where-used breakdown showing exactly which objects depend on each one.

Measure Killer detailed column usage for an Analysis Services model — every column with its used/unused status, size, and reference count

Tabular only. Measure Killer analyzes Tabular Analysis Services models. Multidimensional (cube) models are not supported.

Why this matters for migrations

This is the headline use case. When you migrate off Analysis Services — to Power BI semantic models, to a Fabric / Direct Lake model, or to consolidate several models into one — the worst thing you can do is lift-and-shift everything. Years of accumulated columns, measures and tables come along for the ride, most of which nothing uses anymore.

Run Measure Killer against the source AS model first and you get a precise inventory of what’s actually used. Then you migrate only what earns its place. The result:

  • A smaller, cleaner target model from day one
  • Faster refreshes and lower memory / capacity cost on the new platform
  • Far less to validate and document, because you’re not carrying dead objects forward
  • A defensible record of why each object was kept or dropped

It’s the same principle as optimizing a Power BI semantic model — applied to the model you’re leaving behind, so the migration starts lean.

How it works

On the Measure Killer welcome screen, pick the Analysis Services SSAS and AAS mode. It appears as a tile under both the Developers and the Admins group — which one you choose determines how connected reports are discovered (see below).

Measure Killer welcome screen with the Analysis Services SSAS and AAS tiles highlighted under both the Developers and Admins groups

  1. Pick the Analysis Services SSAS and AAS tile.
  2. Point it at the model:
    • SSAS — enter the server name of the local Analysis Services instance and pick the database.
    • AAS — connect via the model’s XMLA endpoint (asazure://...) and authenticate.
  3. Run the analysis. Measure Killer reads the model metadata — tables, columns, measures, relationships, and the report or downstream usage it can see — and produces the used/unused result set.
  4. Review the Results / where-used view: sort by used vs unused, expand any object to see exactly what references it, and use that as your migration scoping list.
  5. Remove what’s unused. Cleanup on Analysis Services models is more manual than on Power BI — generate a C# script to strip out unused DAX artifacts, or export the list and work through it in your modeling tool. See Clean up an Analysis Services model.

Finding the connected reports

How Measure Killer discovers what consumes the model depends on your permissions:

  • Tenant / Fabric admins — Measure Killer finds every connected Power BI semantic model, report, and paginated report across the tenant automatically, then works out what each one uses from the Analysis Services model. Nothing to gather by hand.
  • Without admin rights — you supply the connected reports yourself: drag and drop the .pbix (or report) files into Measure Killer and it analyzes usage against those. This is the path to use when you can’t (or don’t need to) scan the whole tenant — point it at the specific reports you care about.

Measure Killer SSAS mode — every Power BI semantic model, report, and paginated report connected to the Analysis Services source, with views, workspace, and access level

Common workflows

  • Pre-migration scoping. Before moving a model off SSAS/AAS, scan it to produce the definitive list of used objects. Migrate only those.
  • Decommissioning audit. Before retiring an Analysis Services model entirely, confirm what still consumes it and what’s already dead.
  • Periodic cleanup. For AS models you’re keeping, run the analysis periodically to catch objects that have fallen out of use as reports change.