Relationships in Power BI

Last Updated: 03 Sep, 2026

What Are Relationships in Power BI?

A relationship in Power BI is a link between two tables via a common column (key) that lets filters flow between them. Relationships enable visuals to pull combined data from multiple tables — for example, showing Sales amounts broken down by Product category — without merging everything into a single flat table.

Types of Relationships in Power BI

  • One-to-Many (1:*): The most common type. One row in a dimension table relates to many rows in a fact table. Standard in a star schema.
  • Many-to-One (*:1): The same relationship viewed from the fact table’s perspective — functionally identical to One-to-Many.
  • One-to-One (1:1): Each row matches exactly one row in the other table. Rare; often indicates the tables should be merged.
  • Many-to-Many (*:*): Both tables can have duplicate key values. Used carefully — can affect performance and accuracy. May require cross-filter direction set to Both or a bridging table.

How to Create Relationships in Power BI

Relationships can be created automatically or manually. When tables load, Power BI auto-detects potential relationships based on matching column names and data types. To create manually, switch to Model View and drag a field from one table onto the matching field in another. Double-click the relationship line to configure cardinality and cross-filter direction.

Managing Relationships in Power BI

Go to Home > Manage Relationships (or Modeling tab) to see all relationships with cardinality, cross-filter direction, and active/inactive status. From here you can create, edit, delete, or deactivate relationships. Reviewing this list regularly prevents duplicate or conflicting connections.

How to Create Multiple Relationships Between Tables

Power BI allows only one active relationship between any two tables. If you need multiple connections — e.g., linking Sales to Date on both OrderDate and ShipDate — create both but set only one as active. Use USERELATIONSHIP() inside CALCULATE to activate the inactive one for specific measures.

Inactive Relationships in Power BI

An inactive relationship appears as a dashed line in Model View. It exists but does not propagate filters by default. Activate it with USERELATIONSHIP(Sales[ShipDate], Dates[Date]) inside CALCULATE. Essential for role-playing dimensions.

Power BI Date Table Relationships

A Date table should connect to every date column in your fact tables. The primary active relationship typically links to the main transaction date. Additional date columns connect via inactive relationships. Mark the Date table using Model View > Mark as Date Table for time intelligence DAX.

Relationship with Multiple Columns in Power BI

Power BI relationships are single-column only. If tables use a multi-column key (e.g., Year + Month), create a concatenated key column in Power Query in both tables, then relate on that single column.

Power BI Relationship Visualization

Model View is the primary way to visualize relationships. Tables appear as cards with relationship lines showing cardinality (1 or *) and filter direction (arrow).

 

How to Create and Manage Relationships in Power BI

This tutorial shows how to create, configure, and troubleshoot relationships in Power BI Desktop — covering auto-detection, manual creation, cardinality, and handling multiple relationships. About 6 steps.

Prerequisites

  • Power BI Desktop installed
  • At least two tables loaded with a shared key column
  • Basic familiarity with Model View

Step-by-Step: Creating Relationships

Step 1 — Check auto-detected relationships. After loading data, switch to Model View. Review auto-created lines — verify cardinality and direction.

Step 2 — Create a relationship manually. Drag ProductID from Products onto ProductID in Sales. A relationship line appears.

Step 3 — Configure the relationship. Double-click the line. Confirm Cardinality: One-to-Many, Cross-filter direction: Single. Click OK.

Step 4 — Create a second (inactive) relationship. Drag Sales[ShipDate] onto Date[Date]. Power BI creates it as inactive (dashed line) since an active relationship already exists.

Step 5 — Activate the inactive relationship in DAX. Create: Sales by Ship Date = CALCULATE(SUM(Sales[Amount]), USERELATIONSHIP(Sales[ShipDate], Dates[Date]))

Step 6 — Review all relationships. Go to Home > Manage Relationships to see the full list. Check for duplicates or conflicts.

Common Errors and Troubleshooting

  • Relationship conflict: Two active paths. Deactivate one and use USERELATIONSHIP().
  • Unexpected totals: Missing or misconfigured relationship. Check Model View.
  • Many-to-many auto-detected: Dimension table has duplicate keys. Clean in Power Query.