CALCULATE: It's used to modify or filter the context in which a calculation is being performed
CALCULATE(<expression>, <filter1>, <filter2>, ...)
TotalSales = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "North")
-- select sum(Amount) from Sales where Region = 'North'
Customer Sales Measure (store id) =
CALCULATE(
SUMX(
'Sales by Store',
'Sales by Store'[quantity_sold] * 'Sales by Store'[unit_price]
),
'Sales by Store'[store_id] = 8
)
-- or
Customer Sales messaure (store id) =
SUMX(
FILTER('Sales by Store','Sales by Store'[store_id]==8),
'Sales by Store'[quantity_sold] * 'Sales by Store'[unit_price]
)
CALCULATETABLE: It is similar to CALCULATE but specifically designed for table expressions. This function is particularly useful when you want to apply filters to a table and return a new table based on those filters.
CALCULATETABLE(<table>, <filter1>, <filter2>, ...)
Sales Table:
SaleID ProductCategory Amount
1 Electronics 100
2 Furniture 200
3 Electronics 150
4 Clothing 300
ElectronicsSales =
CALCULATETABLE(
Sales,
Sales[ProductCategory] = "Electronics"
)
SaleID ProductCategory Amount
1 Electronics 100
3 Electronics 150