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.
| Field | Description |
|---|---|
name | Table name |
columnCount | Number of columns in the table |
estimatedRowCount | Estimated row count (fixed placeholder estimate of 10,000, not a live count) |
estimatedSizeKB | Estimated table size in KB, derived from column count and the row estimate |
isUnused | Whether the table is not referenced in any report layout |
isDuplicated | true when this table's name occurs more than once in the model |
isAutomaticHidden | Whether the table is an automatically generated hidden helper table |
isAutoDate | Whether 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
isDuplicatedstaysfalsefor 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.
Related Flags
- Duplicate Columns — Detects column-level name duplication within a single model.
- Duplicate Measures — Detects measure-name duplication within a single model.