(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon
Relationships in Power BI: cardinality and filter direction
Power BI

Relationships in Power BI: cardinality and filter direction

Equipa bConcepts 19/07/2023 2 min

A Power BI report only works well if the tables behind it are properly linked. Those links are called relationships, and understanding them avoids the biggest source of wrong numbers: totals that do not add up because the model is poorly connected.

What a relationship is

A relationship links two tables by a common column — for example, the Customer ID that exists in both the Customers and Sales tables. That link is what lets you see sales by customer, filter one chart and watch the others react together.

Relationships in Power BI: cardinality and filter direction

Cardinality: one-to-many is the norm

Cardinality describes how many rows on each side relate. The most common and healthy case is one-to-many: one customer has many sales. The dimension table (Customers) has unique values; the fact table (Sales) repeats them. It is the basis of the star schema.

The danger of many-to-many

When both sides have repeated values, you get many-to-many — often a sign of a poorly designed model. It can inflate totals and give confusing results. In most cases, you solve it by introducing an intermediate table with unique values.

Filter direction

  • Single (recommended): the filter flows from dimension to facts — you filter the customer, you see their sales. Simple and predictable.
  • Both (bidirectional): the filter flows both ways. Useful in specific cases, but it can create ambiguity and slow the model — use with care.

Why this avoids errors

Most "the numbers are wrong" in Power BI comes from badly built relationships: wrong cardinality, too much direction, or tables that should be linked and are not. A model with clean relationships is half the way to trustworthy reports.

In practice

Before building visuals, tidy the model: one table per entity, one-to-many relationships from dimension to facts, single direction by default. Invest here and calculations start to "just work". When your totals do not add up, have you looked at the model's relationships?

← Back to insights
Let's talk?

Ready to transform your data?

Book a free 30-minute meeting and find out how we can help your team make better decisions.

Book a Free Meeting
bConcepts