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.