← К списку уроков
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 и т.д.)