ColumnDependency


DRAFT    This page is not complete.

ColumnDependency

Overview

The ColumnDependency class in the TCDX object model represents a column-level dependency between a Consumer (such as an Excel workbook or Power BI report) and a tabular model. It is used to track which columns within a model are referenced by a given Consumer or Item.

Purpose

The primary functions of the ColumnDependency class include:

  • Tracking column dependencies within a tabular model.
  • Providing metadata about the columns accessed by a Consumer or Item.
  • Facilitating auditing, performance tuning, and data governance by analyzing column usage patterns.
  • Helping in optimization efforts by identifying unused or frequently used columns in reporting tools.

This class is essential for query analysis, dependency tracking, and governance within Power BI, Excel, and other analytics environments.


Public Properties

The ColumnDependency class consists of the following key properties:

Property Type Description
Model ModelDependency A reference to the tabular model where the column resides.
TableName TcdxName The name of the table containing the referenced column.
ColumnName TcdxName The name of the referenced column within the table.
Table TableDependency A reference to the table dependency associated with this column.
ModelColumn Dax.Metadata.Column A reference to the column in the VertiPaq Analyzer (VPAX) object model, if available.

Property Details

  • Model
    • This property links the ColumnDependency to a specific tabular model via a ModelDependency object.
    • It helps track which model the column belongs to.
  • TableName
    • Stores the name of the table that contains the referenced column.
    • This ensures clarity when analyzing column usage within a tabular model.
  • ColumnName
    • Identifies the specific column being referenced.
    • Helps in determining which fields are directly used in a pivot table, Power BI visual, or any other Consumer component.
  • Table
    • Provides a reference to the TableDependency associated with this column.
    • This allows for tracking how tables and columns are used together.
  • ModelColumn
    • If available, this property provides a reference to the DAX Metadata representation of the column.
    • Enables deeper analysis of column structure, relationships, and performance implications.

Relationships with Other Classes

The ColumnDependency class interacts with multiple components in the TCDX model:

  • ModelDependency → Links the column to the specific tabular model.
  • TableDependency → Represents the table that contains the referenced column.
  • Consumer → Stores column dependencies used within Excel, Power BI, or other client applications.
  • Item → Represents individual objects (pivot tables, visuals) that reference specific columns.
  • MeasureDependency → Captures measure dependencies that rely on a specific column.

Class Diagram Representation

ColumnDependency
├── Model : ModelDependency
├── TableName : TcdxName
├── ColumnName : TcdxName
├── Table : TableDependency
└── ModelColumn : Dax.Metadata.Column
  • Itemreferences multiple ColumnDependency
  • ColumnDependencybelongs to TableDependency
  • ColumnDependencybelongs to ModelDependency
  • MeasureDependencymay reference ColumnDependency

Conclusion

The ColumnDependency class is a critical component of the TCDX object model, allowing for structured tracking of column-level dependencies in tabular models. By linking Consumers, Items, Tables, and Models, it provides valuable insights into how data is utilized.

This class is particularly useful for:

  • Auditing → Understanding which columns are frequently used in reports and workbooks.
  • Performance Optimization → Identifying unused or redundant columns that may impact model efficiency.
  • Governance & Data Lineage → Ensuring compliance with best practices for data modeling and report design.

By integrating ColumnDependency into the TCDX model, organizations can gain insights into tabular model usage and enhance data governance and performance across Power BI, Excel, and other reporting tools.

Note:

for privacy reasons, strings are implemented as TcdxName objects, to allow a future implementation of objects anonymization.

Last update: Apr 07, 2025