ALLEXCEPT

Удаляет все фильтры контекста в таблице, кроме фильтров, которые были применены к указанным столбцам.

Синтаксис

ALLEXCEPT(<table>,<column>[,<column>[,…]])  

Параметры

Термин Определение
table Таблица, по которой удаляются все фильтры контекста, за исключением фильтров для этих столбцов, указанных в последующих аргументах.
столбец Столбец, для которого необходимо сохранить фильтры контекста.

Первый аргумент функции ALLEXCEPT должен быть ссылкой на базовую таблицу. Все последующие аргументы должны быть ссылками на базовые столбцы. Нельзя использовать табличные выражения или выражения столбцов с функцией ALLEXCEPT.

Возвращаемое значение

Таблица со всеми фильтрами удалена, за исключением фильтров по указанным столбцам.

Замечания

  • Эта функция сама по себе не используется, но служит промежуточной функцией, которая может использоваться для изменения набора результатов, по которым выполняется другое вычисление.

  • ALL и ALLEXCEPT можно использовать в разных сценариях:

    Функция и использование Description
    ALL(Table) Удаляет все фильтры из указанной таблицы. В действительности ALL(Table) возвращает все значения в таблице, удалив все фильтры из контекста, которые в противном случае могли быть применены. Эта функция полезна при работе с множеством уровней группировки и требуется создать вычисление, которое создает соотношение агрегированного значения к общему значению.
    ALL (Column[, Column[, ...]]) Удаляет все фильтры из указанных столбцов в таблице; все остальные фильтры для других столбцов в таблице по-прежнему применяются. Все аргументы столбцов должны поступать из одной таблицы. Вариант ALL(Column) полезен, если требуется удалить фильтры контекста для одного или нескольких конкретных столбцов и сохранить все остальные фильтры контекста.
    ALLEXCEPT(Table, Column1 [,Column2]...) Удаляет все фильтры контекста в таблице, кроме фильтров, применяемых к указанным столбцам. Это удобное сочетание клавиш для ситуаций, в которых требуется удалить фильтры на многих, но не все столбцы в таблице.
  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).

Пример

Следующая формула измерения суммирует SalesAmount_USD и использует функцию ALLEXCEPT для удаления любых фильтров контекста в таблице DateTime, за исключением случаев, когда фильтр был применен к столбцу CalendarYear.

= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))  

Так как формула использует ALLEXCEPT, всякий раз, когда любой столбец, но CalendarYear из таблицы DateTime используется для среза визуализации, формула удаляет все фильтры среза, предоставляя значение, равное сумме SalesAmount_USD. Однако если столбец CalendarYear используется для среза визуализации, результаты отличаются. Так как CalendarYear указывается в качестве аргумента ALLEXCEPT, когда данные срезаются в год, фильтр будет применяться на протяжении многих лет на уровне строк.

Функции фильтрации
ФУНКЦИЯ ALL
Функция FILTER