FILTER
Функция фильтрации. Возвращает таблицу, содержащую строки, которые соответствуют заданному условию, позволяя отфильтровать данные на основе критерия, который вы задаёте.
Синтаксис
FILTER ('таблица', условие)
где
'таблица'– входная таблица, которую вы хотите отфильтровать.условие– логическое выражение, которое определяет, какие строки из таблицы будут включены в результирующую таблицу. Условие должно возвращатьTRUEилиFALSEдля каждой строки.
Пример
Формула ниже вычисляет сумму продаж (salesamount) только для той части таблицы factonlinesales, где категория продукта (category) равна "Audio".
CALCULATE (
SUM (factonlinesales[salesamount]),
FILTER (
'factonlinesales', 'factonlinesales'[category] IN { "Audio" }
)
)где
CALCULATE– изменяет контекст вычисления выражения, определенного в первом аргументе, с помощью фильтра, заданного в последующем аргументе.SUM (factonlinesales[salesamount])– вычисляет сумму значений в столбцеsalesamountтаблицыfactonlinesales.FILTER– создает новый фильтрованный контекст, где она возвращает только те строки таблицыfactonlinesales, которые соответствуют заданному критерию.'factonlinesales'[category] IN { "Audio" }– условие фильтрации, которое выбирает только те строки из таблицыfactonlinesales, где столбецcategoryимеет значение"Audio".
Поддерживаются операторы
IN,OR,AND,&&,||,NOT.INподдерживает строки, целочисленные значения, а также даты.ANDподдерживает следующие операции сравнения >, <, >=, <=, =, <>. Поддерживается работа с числами, например:FILTER ( factonlinesales, AND (factonlinesales[quantity] <> 150, factonlinesales[salesamount] > 1500 ) )и датами (см. DATE).
Значения, используемые в фильтре, чувствительны к регистру. Если вы не хотите, чтобы учитывался регистр, используйте в фильтре функцию
CONTAINSSTRING. Например:CALCULATE( SUM(factonlinesales[salesamount]), FILTER( dimproduct, CONTAINSSTRING(dimproduct[brandname], "Contoso") ) )
Смотрите также
Моделирование данных с помощью DAX
Поддерживаемые функции DAX
Математические операторы