Skip to content

Duplicate Columns

Detects columns that share the exact same name across more than one table in the model, based on identical column names.

What It Detects

This flag identifies columns whose short name (the part inside the brackets of Table[Column]) is identical to a column in another table within the same analyzed file. Detection is purely name-based: the analyzer counts how many times each column's exact name appears across all tables and flags every column whose name occurs in more than one table.

Matching is byte-for-byte and case-sensitive — there is no normalization of spaces, underscores, or casing, and data types and value distributions are not compared.


Why It Matters

  • Wasted memory — Duplicate columns double the VertiPaq storage for the same information.
  • Ambiguity for report authors — Two columns with the same name in different tables create confusion about which one to use.
  • Relationship conflicts — Duplicate columns can lead to ambiguous relationship paths, causing unexpected DAX results.

Trigger Conditions

A column is flagged when both of the following are true:

  1. Exact name match — Two columns share the exact same name (case-sensitive; no normalization of spaces, underscores, or casing). ProductID in two different tables matches, but Customer_ID and CustomerID do not.
  2. Appears in more than one table — The same short column name occurs across more than one table. Column names are unique within a single table, so matches are always cross-table.

Data type, cardinality, and value distribution are not part of the criteria — two columns with the same name but different data types are still flagged.

Rule: A column is flagged when its exact name appears in more than one table.


Output

Each analyzed column carries a boolean isDuplicated flag on its definition. There is no pairwise output — the result is per column, per analyzed file.

FieldDescription
nameFully qualified column name in Table[Column] format
tableNameThe table the column belongs to
dataTypeThe column's data type (shown for reference; not used in duplicate detection)
estimatedSizeKBApproximate VertiPaq size estimate (based on an assumed 10,000 rows per table)
isDuplicatedBoolean — true when the column's exact name also appears in at least one other table

In the report UI, a duplicated column is surfaced with a Duplicated badge in the columns table (Name, Table, Data Type, Est. Size (KB), Flags).

Analysis runs against a single uploaded .pbix/.pbit file. There is no cardinality, no columnA/columnB pairing, and no datasetName/workspaceName — the flag is not workspace-scoped.


Notes and Edge Cases

  • Foreign key columns — Foreign-key columns that share a name across tables (e.g. Orders[ProductID] and Products[ProductID]) will be flagged, since detection is name-based and does not inspect relationships. Treat such matches as expected.
  • Denormalized tables — In star-schema models, dimension attributes may be intentionally denormalized into fact tables for performance. If those attributes keep the same column name, they may be flagged but could be intentional.