Module 9
5 min read
CALCULATE Function
Deep dive into the CALCULATE function
What You'll Learn
- What CALCULATE does
- How to add and remove filters
- Common use cases
What is CALCULATE?
CALCULATE is the most important DAX function. It changes filter context.

CALCULATE(expression, filter1, filter2, ...)
Think of it as: "Calculate this... but with these filters"
Add a Filter
Force a specific filter, regardless of user selection:
USA Sales = CALCULATE([Total Sales], Country = "USA")
Even if user selects "Canada" in slicer, this shows USA only.
Remove Filters
Use ALL() to ignore filters:

Grand Total = CALCULATE([Total Sales], ALL(Sales))
| Region | Sales | Grand Total |
|---|---|---|
| East | $150K | $500K |
| West | $200K | $500K |
| North | $150K | $500K |
Grand Total stays same regardless of row!
Multiple Filters (AND)
Multiple filters = ALL must be true:
Premium USA =
CALCULATE(
[Total Sales],
Category = "Premium",
Country = "USA"
)
Shows Premium products AND USA customers only.
Common Patterns

| Pattern | DAX |
|---|---|
| Filter to value | CALCULATE([Sales], Country = "USA") |
| Remove all filters | CALCULATE([Sales], ALL(Table)) |
| Remove one filter | CALCULATE([Sales], ALL(Column)) |
| % of Total | DIVIDE([Sales], CALCULATE([Sales], ALL(Table))) |
| Last Year | CALCULATE([Sales], SAMEPERIODLASTYEAR(Date)) |
Try This
- Create:
USA Sales = CALCULATE([Total Sales], Country = "USA") - Create:
All Sales = CALCULATE([Total Sales], ALL(Sales)) - Create:
% of Total = DIVIDE([Total Sales], [All Sales]) - Test with slicers - see how each behaves!
Tip: CALCULATE is 50% of advanced DAX. Practice it until it feels natural!