REMOVEFILTERS

REMOVEFILTERS

Используется для удаления фильтров с указанных таблиц в контексте вычислений. Это позволяет анализировать данные без влияния определенных фильтров. Применяется только для очистки фильтров. Не возвращает таблицы.

Данная функция может использоваться в различных бизнес-кейсах. Например, при создании сравнительных отчетов, когда нужно сравнить продажи текущего месяца с продажами за весь год. В этом случае REMOVEFILTERS может помочь убрать фильтрацию по конкретным периодам, чтобы получить данные за весь год.

Синтаксис

REMOVEFILTERS ( TableName )

Параметр

Атрибуты

Описание

Параметр

Атрибуты

Описание

TableName

Обязательный

Название таблицы с которой нужно удалить фильтры.

Примечание

  • REMOVEFILTERS может использоваться только как модификатор CALCULATE.

  • При создании мер функция REMOVEFILTERS может быть использована для полного переопределения контекста фильтрации. В отличие от ALL, она гарантированно снимает фильтры со всех связанных таблиц, обеспечивая корректные результаты расчетов в реляционных моделях. Более подробную информацию см. в разделе Переопределение контекста фильтрации функцией ALL.

  • Обязательно указывать таблицу.

  • В рамках CALCULATE поддерживаются несколько REMOVEFILTERS.

  • Можно комбинировать с FILTER в рамках одного CALCULATE.

Пример

Формула ниже вычисляет отношение продаж для текущего контекста к общим продажам без фильтрации по клиентам. Функция REMOVEFILTERS используется для того, чтобы удалить фильтрацию по таблице dimcustomer, обеспечивая расчет общего объема продаж:

DIVIDE( SUM(factonlinesales[salesamount]), // Продажи в текущем контексте (например, для выбранного клиента) CALCULATE( SUM(factonlinesales[salesamount]), // Общие продажи без фильтрации по клиентам REMOVEFILTERS(dimcustomer) // Явный сброс фильтров по таблице dimcustomer ) )

Данная формула выполняет следующие действия:

  1. Числитель (SUM) – считает сумму salesamount с учетом всех активных фильтров (например, если в отчете выбран конкретный клиент, возвращаются только его продажи).

  2. Знаменатель (CALCULATE + REMOVEFILTERS):

    • CALCULATE переопределяет контекст фильтрации.

    • REMOVEFILTERS(dimcustomer) удаляет все фильтры, примененные к таблице dimcustomer, чтобы получить общие продажи по всем клиентам.

  3. DIVIDE – возвращает долю продаж, приходящуюся на текущий контекст (например, определенного клиента), относительно всех продаж, не учитывая фильтрацию по клиентам.

В данном примере функция REMOVEFILTERS явно указывает, что в знаменателе нужно игнорировать фильтрацию по клиентам, даже если она есть в контексте отчета (например, из-за среза или выделенной строки в таблице).


Смотрите также

Моделирование данных с помощью DAX
Поддерживаемые функции DAX
Математические операторы

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.