Power BI·Средний·7 мин
CALCULATE — главная функция DAX
CALCULATE меняет контекст фильтрации меры. Без неё дашборд в Power BI не построишь.
Что делает CALCULATE
CALCULATE пересчитывает меру в другом контексте фильтра. Это самая важная функция в DAX.
Синтаксис
Total Sales =
CALCULATE(
SUM(Sales[Amount]),
Sales[Region] = "South"
)
Возвращает сумму продаж — но только по региону South, игнорируя фильтры самой визуализации.
Множественные условия
Sales 2026 =
CALCULATE(
SUM(Sales[Amount]),
YEAR(Sales[Date]) = 2026,
Sales[Status] = "Paid"
)
Удаляем фильтр через ALL
Иногда нужно «сбросить» фильтр который пришёл из визуализации:
% of Total =
DIVIDE(
SUM(Sales[Amount]),
CALCULATE(SUM(Sales[Amount]), ALL(Sales))
)
Числитель считается с текущими фильтрами, знаменатель — по всей таблице. Получаем долю от общего.
Когда использовать
- Time intelligence (продажи за прошлый год, год к году)
- Доли и проценты от целого
- Условные агрегации (только paid, только premium и т.д.)