Skip to content

Duplicate Measures

Detects measures whose name appears in more than one table of the same analyzed model.

What It Detects

This flag identifies DAX measures that share the same measure name — the text inside Table[Measure] — across two or more tables of a single analyzed model. When the same measure name is found in more than one table, every measure carrying that name is flagged.

Matching is based on the name only. The DAX expression is stored on each measure but is never compared, so measures that share a name are flagged regardless of whether their expressions are identical or completely different.

The analyzer works on one uploaded .pbix/.pbit file at a time. Detection is scoped to that single model — there is no cross-dataset or cross-workspace comparison.


Why It Matters

  • Inconsistency risk — If two same-named measures carry different logic, or one copy is updated while another is not, reports can show conflicting numbers for what looks like the same metric.
  • Maintenance overhead — Fixing a bug or changing a business rule may require finding and updating every same-named copy.
  • Governance issue — Indicates the lack of a single, central measures table, leading to measure sprawl within the model.

Trigger Conditions

A measure is flagged as duplicated when:

  1. Name match — two or more measures in the model share the same measure name (the text inside Table[Measure]).
  2. The measures reside in different tables of the same model.

Because each measure is keyed internally by its fully-qualified Table[Measure] name, two measures can only collide on the short name when they live in different tables. The DAX expression is never examined — measures that share a name but have different expressions are still flagged.

Matching: exact, case-sensitive comparison of the measure name. There is no expression comparison and no whitespace, line-break, or casing normalization.


Output

Each measure carries the following fields (ReportMeasureDefinition):

FieldDescription
nameFully-qualified measure name, Table[Measure]
tableNameHome table of the measure
expressionThe measure's DAX expression (stored, but not used for duplicate detection)
isUnusedtrue when the measure is not referenced anywhere in the report layout
isDuplicatedtrue when the measure's name appears in more than one table of the model

In the report UI, measures where isDuplicated is true appear under the Duplicate measures section, each marked with a red Duplicated badge.


Notes and Edge Cases

  • Single-model scope — Detection runs on one uploaded file at a time. Duplicates can only be found across different tables within that one model; there is no cross-dataset or cross-workspace analysis.
  • Name-only matching — Because only the name is compared, two measures that share a name but have entirely different logic are both flagged. Conversely, identical DAX logic living under different names is not detected by this check.
  • Case-sensitive — Names that differ only in casing (for example, Sales and sales) are treated as distinct and are not flagged.

  • Duplicate Tables — The table-level equivalent: the same table name appearing more than once in the model.
  • Unused Measures — One copy of a duplicated measure may be unused.