Skip to content

Duplicate Tables

Flags tables whose name occurs more than once within the analyzed model. Detection is by table name only; it does not compare column structure or data.

Note: In the current build this flag effectively never surfaces. The analyzer stores tables in a map keyed by table name, so two tables with the same name collapse into a single entry before the duplicate check runs — the per-name count is therefore always 1 and no table is ever marked duplicated. Duplicate table names are also rare in valid Power BI models. See Trigger Conditions.

What It Detects

This flag is intended to mark any table whose name appears more than once in a single analyzed report/model. Detection is scoped to one .pbit file — the analyzer does not compare tables across datasets or workspaces.


Why It Matters

  • Increased model size — A redundant table consumes extra memory in the same model.
  • Maintenance effort — Changes have to be replicated across every copy, and they can drift out of sync.
  • Developer confusion — It becomes ambiguous which table should be used in visuals and measures.

Consider removing the duplicates and consolidating their usage to a single object.


Trigger Conditions

The intended trigger is: a table is flagged when its name appears more than once in the model's table list, via an exact (case-sensitive) name-count check. There is no schema comparison, no data-type comparison, no row-count comparison, and no cross-dataset check — and therefore no configurable or fixed threshold.

In the current build, however, the table list is a map keyed by name, so identical names are de-duplicated before the count check and the condition can never be satisfied. As a result the flag does not surface in practice.


Output

Each flagged item is a table definition (ReportTableDefinition). Duplicates are surfaced in the report view as a red "Duplicated" badge on the table.

FieldDescription
nameTable name
columnCountNumber of columns in the table
estimatedRowCountEstimated row count (fixed placeholder estimate of 10,000, not a live count)
estimatedSizeKBEstimated table size in KB, derived from column count and the row estimate
isUnusedWhether the table is not referenced in any report layout
isDuplicatedtrue when this table's name occurs more than once in the model
isAutomaticHiddenWhether the table is an automatically generated hidden helper table
isAutoDateWhether the table is a Power BI auto-generated date table

Notes and Edge Cases

  • Does not surface in the current build — Because tables are stored in a name-keyed map, duplicate names collapse before the check, so isDuplicated stays false for every table. Power BI also generally enforces unique table names within a model.
  • Name-only detection (by design) — The intended check compares table names only; two tables with identical structure but different names would not be flagged, and column structure / data content is never inspected. For duplication that actually surfaces today, see the column and measure flags below.