Skip to content

Duplicate Measures

Detects measures with identical DAX expressions across the same or different semantic models.

What It Detects

This flag identifies DAX measures that have identical expressions — either within the same semantic model or across different models in the scanned workspaces.


Why It Matters

  • Inconsistency risk — If one copy of a measure is updated and the other is not, reports will show conflicting numbers for the same metric.
  • Maintenance overhead — Fixing a bug or changing a business rule requires finding and updating every duplicate.
  • Governance issue — Indicates a lack of shared datasets or a central measures layer, leading to metric sprawl.

Trigger Conditions

Two measures are flagged as duplicates when:

  1. Expression match — The DAX expressions are identical after normalization (whitespace, line breaks, and casing are ignored).
  2. The measures reside in different tables, different datasets, or both.

Measures with the same name but different expressions are not flagged by this check (that would be a naming conflict, not a duplicate).

Threshold: 100% normalized expression match.


Output

FieldDescription
measureNameMeasure name
expressionHashHash of the normalized DAX expression
datasetAFirst dataset containing the measure
tableAHome table in dataset A
datasetBSecond dataset (or same dataset, different table)
tableBHome table in dataset B
workspaceNameWorkspace(s) involved

Notes and Edge Cases

  • Cross-dataset duplicates — The most common and impactful case. Consider migrating to a shared dataset model where one "golden" dataset holds the canonical measures.
  • Trivial measures — Very simple measures like SUM(Table[Column]) will frequently match across models. Use the expression length or complexity as a filter when triaging — prioritize longer, more complex duplicates.

  • Duplicate Tables — Often accompanies duplicate measures: the same table loaded into multiple models, each with copies of the same measures.
  • Unused Measures — One copy of a duplicated measure may be unused.