Bird
Raised Fist0
Power BIbi_tool~8 mins

Relationship direction and cross-filtering in Power BI - Dashboard Guide

Choose your learning style10 modes available
Dashboard Mode - Relationship direction and cross-filtering
Business Question

How does changing the relationship direction and cross-filtering between Sales and Products tables affect the total sales and product details shown in the dashboard?

Sample Data
SalesIDProductIDQuantitySalesAmount
11012200
21021150
31033450
41011100
51045500

ProductIDProductNameCategory
101NotebookStationery
102PenStationery
103ChairFurniture
104DeskFurniture
105LampFurniture
Dashboard Components
  • KPI Card: Total Sales Amount
    Formula: Total Sales = SUM(Sales[SalesAmount])
    Result: 1400
  • Table Visual: Product Sales Details
    Columns: ProductName, Category, Total Quantity Sold, Total Sales Amount
    Measures:
    Total Quantity Sold = CALCULATE(SUM(Sales[Quantity]))
    Total Sales Amount = CALCULATE(SUM(Sales[SalesAmount]))
    Shows sales grouped by product
  • Slicer: Category Filter
    Based on Products[Category]

Relationship Setup: Single direction from Products to Sales on ProductID by default.

Cross-filtering: Changing relationship direction to both directions allows filtering from Sales to Products and vice versa.

Dashboard Layout
+----------------------+--------------------------+
|      KPI Card        |      Category Slicer      |
|  Total Sales Amount  |                          |
+----------------------+--------------------------+
|          Product Sales Details Table             |
|                                                  |
+--------------------------------------------------+
Interactivity

The Category Slicer filters the Product Sales Details Table by product category. Because the relationship is single direction from Products to Sales, filtering by category affects sales data shown in the table.

If the relationship direction is changed to both directions, selecting a product or sales amount in the table can filter the slicer and other visuals, enabling two-way filtering.

Self Check

Task: Add a filter selecting the category Furniture in the Category Slicer.

Question: Which products and sales amounts appear in the Product Sales Details Table, and what is the updated Total Sales Amount in the KPI Card?

Answer: The table shows only products in Furniture category: Chair, Desk, and Lamp. Sales amounts for these products are 450 (Chair) + 500 (Desk) = 950. The KPI Card updates to show Total Sales Amount = 950.

Key Result
Dashboard shows total sales and product sales details with filtering affected by relationship direction between Products and Sales tables.

Practice

(1/5)
1. What does the Single relationship direction mean in Power BI?
easy
A. Filters flow between tables in both directions.
B. Filters flow randomly between tables.
C. Filters do not flow between tables at all.
D. Filters flow from one table to another in only one direction.

Solution

  1. Step 1: Understand relationship direction

    Single direction means filter context flows from one table to another, but not back.
  2. Step 2: Compare with both directions

    Both directions allow filters to flow both ways, unlike single direction.
  3. Final Answer:

    Filters flow from one table to another in only one direction. -> Option D
  4. Quick Check:

    Single direction = one-way filter flow [OK]
Hint: Single direction means filter flows one way only [OK]
Common Mistakes:
  • Confusing single with both directions
  • Thinking filters flow both ways in single direction
  • Assuming no filters flow in single direction
2. Which of the following is the correct DAX syntax using CROSSFILTER to enable Both direction filtering in Power BI?
easy
A. CROSSFILTER(Table1[ID], Table2[ID], Both)
B. CROSSFILTER(Table1[ID], Table2[ID], DIRECTION Both)
C. CROSSFILTER(Table1[ID], Table2[ID], BothDirection)
D. CROSSFILTER(Table1[ID], Table2[ID], BothDirections)

Solution

  1. Step 1: Recall correct DAX syntax for relationship direction

    Power BI uses CROSSFILTER keyword with values Single or Both to set filter direction.
  2. Step 2: Identify correct option

    CROSSFILTER(Table1[ID], Table2[ID], Both) uses CROSSFILTER Both which is the correct syntax for both directions.
  3. Final Answer:

    CROSSFILTER(Table1[ID], Table2[ID], Both) -> Option A
  4. Quick Check:

    Relationship direction syntax uses CROSSFILTER Both [OK]
Hint: Use CROSSFILTER Both to set both directions in DAX [OK]
Common Mistakes:
  • Using DIRECTION keyword instead of CROSSFILTER
  • Misspelling Both as BothDirection or BothDirections
  • Confusing syntax with SQL JOIN
3. Given two tables, Customers and Orders, with a single direction relationship from Customers to Orders, what happens when you filter Orders by a specific Product?
medium
A. The Customers table is filtered to show only customers who ordered that product.
B. The Orders table is filtered, but Customers table remains unfiltered.
C. Both Customers and Orders tables are filtered by the product.
D. No filtering happens on either table.

Solution

  1. Step 1: Understand filter flow in single direction relationship

    Filter flows from Customers to Orders, but not from Orders back to Customers.
  2. Step 2: Apply filter on Orders table

    Filtering Orders by product affects Orders only; Customers table remains unfiltered.
  3. Final Answer:

    The Orders table is filtered, but Customers table remains unfiltered. -> Option B
  4. Quick Check:

    Single direction filters one way only [OK]
Hint: Filter flows only from one side in single direction [OK]
Common Mistakes:
  • Assuming filter flows both ways
  • Thinking Customers table filters Orders only
  • Confusing filter direction with cross-filtering
4. You created a relationship between Sales and Products tables with Both directions, but filtering Products does not filter Sales. What is the likely issue?
medium
A. The relationship is inactive and needs to be activated.
B. The relationship direction is set to Single, not Both.
C. The tables have no matching keys for the relationship.
D. Cross-filtering is disabled in report settings.

Solution

  1. Step 1: Check relationship activation status

    Inactive relationships do not apply filters even if direction is Both.
  2. Step 2: Confirm relationship direction and keys

    Direction Both is set, and keys exist, so inactive status is the issue.
  3. Final Answer:

    The relationship is inactive and needs to be activated. -> Option A
  4. Quick Check:

    Inactive relationship blocks filter flow [OK]
Hint: Activate relationships to enable filter flow [OK]
Common Mistakes:
  • Assuming direction is wrong without checking activation
  • Ignoring inactive relationships
  • Thinking cross-filtering is a global setting
5. You have three tables: Customers, Orders, and Products. Customers to Orders has a single direction relationship (Customers filters Orders). Orders to Products has a single direction relationship (Products filters Orders). You want to create a report where filtering Customers also filters Products. What is the best approach?
hard
A. Change both relationships to Both directions to enable filter flow from Customers to Products.
B. Create a direct relationship from Customers to Products with Both directions.
C. Use DAX measures with CROSSFILTER to simulate filter flow from Customers to Products.
D. Keep relationships as is; filtering Customers will automatically filter Products.

Solution

  1. Step 1: Analyze existing relationships and filter flow

    Customers filters Orders, Products filters Orders, but no direct filter flow from Customers to Products.
  2. Step 2: Understand why filtering Customers does not filter Products

    Because Orders to Products filters from Products to Orders, filter does not flow from Orders to Products.
  3. Step 3: Use DAX with CROSSFILTER to simulate filter flow

    Using CROSSFILTER in measures can override filter direction temporarily to enable filtering Products by Customers.
  4. Final Answer:

    Use DAX measures with CROSSFILTER to simulate filter flow from Customers to Products. -> Option C
  5. Quick Check:

    Use CROSSFILTER in DAX for complex filter flow [OK]
Hint: Use CROSSFILTER in DAX to override filter direction [OK]
Common Mistakes:
  • Changing all relationships to Both can cause ambiguity
  • Creating unnecessary direct relationships
  • Assuming filter flows automatically through multiple single directions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard