Bird
Raised Fist0
Power BIbi_tool~10 mins

Filter context concept in Power BI - Cell-by-Cell Formula Trace

Choose your learning style10 modes available
Sample Data

Sales data for products with their categories and sales amounts.

CellValue
A1Product
B1Category
C1Sales
A2Apple
B2Fruit
C2100
A3Banana
B3Fruit
C3150
A4Carrot
B4Vegetable
C4200
A5Broccoli
B5Vegetable
C5120
Formula Trace
CALCULATE(SUM(Sales[Sales]), Sales[Category] = "Fruit")
Step 1: Sales[Category] = "Fruit"
Step 2: SUM(Sales[Sales]) over filtered rows
Step 3: CALCULATE(...) returns sum with filter applied
Cell Reference Map
    A        B          C
1 Product  Category   Sales
2 Apple    Fruit      100
3 Banana   Fruit      150
4 Carrot   Vegetable  200
5 Broccoli Vegetable  120

Filter applied on column B (Category) for 'Fruit' rows (A2,B2,C2 and A3,B3,C3).
The formula filters rows where Category equals 'Fruit' and sums the Sales column for those rows.
Result
    D
1 Filtered Sales
2 250

Cell D2 shows the total sales for products in the 'Fruit' category.
The result 250 is the sum of sales for Apple and Banana, the filtered products.
Sheet Trace Quiz - 3 Questions
Test your understanding
What does the filter context do in this formula?
ASelects only rows where Category is 'Fruit'.
BSums all sales without filtering.
CFilters sales greater than 200.
DChanges product names to uppercase.
Key Result
CALCULATE applies filter context to modify which rows are included before aggregation.

Practice

(1/5)
1. What does filter context control in Power BI calculations?
easy
A. The color scheme of the report visuals
B. The size of the data model
C. Which data rows are included in the calculation
D. The refresh schedule of the dataset

Solution

  1. Step 1: Understand filter context meaning

    Filter context determines which rows of data are considered when a measure or calculation runs.
  2. Step 2: Relate filter context to calculation

    It controls the subset of data used, affecting the calculation result.
  3. Final Answer:

    Which data rows are included in the calculation -> Option C
  4. Quick Check:

    Filter context = data rows included [OK]
Hint: Filter context decides which rows affect your measure [OK]
Common Mistakes:
  • Confusing filter context with visual formatting
  • Thinking filter context controls data refresh
  • Mixing filter context with data model size
2. Which of the following is the correct syntax to change filter context using CALCULATE in DAX?
easy
A. CALCULATE(SUM(Sales[Amount]), Sales[Region] = "West")
B. CALCULATE(SUM(Sales[Amount]) FILTER Sales[Region] = "West")
C. CALCULATE SUM(Sales[Amount]) WHERE Sales[Region] = "West"
D. CALCULATE(SUM(Sales[Amount]), FILTER Sales[Region] == "West")

Solution

  1. Step 1: Recall CALCULATE syntax

    CALCULATE takes an expression and one or more filter conditions separated by commas.
  2. Step 2: Check each option's syntax

    CALCULATE(SUM(Sales[Amount]), Sales[Region] = "West") uses correct syntax: CALCULATE(expression, filter). Others misuse FILTER keyword or operators.
  3. Final Answer:

    CALCULATE(SUM(Sales[Amount]), Sales[Region] = "West") -> Option A
  4. Quick Check:

    CALCULATE(expression, filter) correct syntax [OK]
Hint: Use comma to separate filters inside CALCULATE [OK]
Common Mistakes:
  • Using FILTER keyword incorrectly inside CALCULATE
  • Using WHERE instead of filter arguments
  • Using double equals (==) instead of single equals (=) in filters
3. Given this measure:
Total West Sales = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "West")
What is the output if Sales table has:
- Region: East, Amount: 100
- Region: West, Amount: 200
- Region: West, Amount: 300
?
medium
A. 600
B. 500
C. 300
D. 100

Solution

  1. Step 1: Identify rows matching filter

    Filter is Sales[Region] = "West", so rows with amounts 200 and 300 match.
  2. Step 2: Sum amounts of filtered rows

    Sum = 200 + 300 = 500.
  3. Final Answer:

    500 -> Option B
  4. Quick Check:

    Sum of West region sales = 500 [OK]
Hint: Sum only rows where Region = West [OK]
Common Mistakes:
  • Adding all rows ignoring filter
  • Adding only one West row
  • Confusing East and West regions
4. You wrote this measure:
West Sales = CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Region] = "West"))
But it returns the total sales for all regions. What is the likely problem?
medium
A. FILTER function is missing a table argument
B. The filter condition inside FILTER is incorrect
C. CALCULATE ignores FILTER and uses all rows by default
D. The FILTER function returns a table but CALCULATE expects a boolean filter

Solution

  1. Step 1: Understand FILTER inside CALCULATE

    FILTER returns a table of rows matching condition, which is valid inside CALCULATE.
  2. Step 2: Check why all rows are included

    If measure returns all sales, likely the filter is ignored or overridden by outer filter context.
  3. Step 3: Identify common mistake

    Sometimes users expect FILTER to act like a boolean filter, but it returns a table. If misused, CALCULATE may ignore it.
  4. Final Answer:

    The FILTER function returns a table but CALCULATE expects a boolean filter -> Option D
  5. Quick Check:

    FILTER returns table, CALCULATE needs filter context [OK]
Hint: FILTER returns table; CALCULATE needs filter context [OK]
Common Mistakes:
  • Thinking FILTER returns a boolean value
  • Misplacing FILTER arguments
  • Assuming CALCULATE ignores FILTER always
5. You want to create a measure that sums sales only for the current year selected in a slicer, but also always filters Region = "East" regardless of slicer. Which DAX expression correctly applies this filter context?
hard
A. CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East")
B. CALCULATE(SUM(Sales[Amount]), ALL(Sales[Year]), Sales[Region] = "East")
C. CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East", REMOVEFILTERS(Sales[Year]))
D. CALCULATE(SUM(Sales[Amount]), FILTER(ALL(Sales), Sales[Region] = "East"))

Solution

  1. Step 1: Understand slicer effect on filter context

    Slicer on Year creates filter context for current year automatically.
  2. Step 2: Add fixed filter for Region

    Adding Sales[Region] = "East" inside CALCULATE adds this filter on top of slicer filters.
  3. Step 3: Check options for preserving slicer

    CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East") keeps slicer filter on Year and adds Region filter. CALCULATE(SUM(Sales[Amount]), ALL(Sales[Year]), Sales[Region] = "East") removes Year filter with ALL, which is wrong. CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East", REMOVEFILTERS(Sales[Year])) removes Year filter with REMOVEFILTERS, which is wrong. CALCULATE(SUM(Sales[Amount]), FILTER(ALL(Sales), Sales[Region] = "East")) removes all filters with ALL, losing slicer effect.
  4. Final Answer:

    CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East") -> Option A
  5. Quick Check:

    CALCULATE adds Region filter, keeps slicer Year filter [OK]
Hint: Add fixed filter in CALCULATE, slicer filters stay [OK]
Common Mistakes:
  • Using ALL removes slicer filters unintentionally
  • Using REMOVEFILTERS removes slicer filters unintentionally
  • Overriding slicer filters when not needed
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