Поделиться через


ФИЛЬТР

Область применения: вычисление вычисляемого столбца вычисляемой таблицы Меры визуального элемента

Возвращает таблицу, представляющую подмножество другой таблицы или выражения.

Синтаксис

FILTER(<table>,<filter>)  

Параметры

Термин Определение
table Таблица, отфильтрованной. Таблица также может быть выражением, которое приводит к таблице.
Фильтр Логическое выражение, которое необходимо оценить для каждой строки таблицы. Например, [Amount] > 0 или [Region] = "France".

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

Таблица, содержащая только отфильтрованные строки.

Замечания

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

  • Рекомендации по использованию FILTER см. в статье "Избегайте использования FILTER в качестве аргумента фильтра".

Использование COUNTROWS вместо COUNT в DAX

  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).

Пример

В следующем примере создается отчет о продажах в Интернете за пределами США с помощью меры, которая фильтрует продажи в США, а затем срезается по календарным годам и категориям продуктов. Чтобы создать эту меру, отфильтруйте таблицу, интернет-продажи USD, используя территорию продаж, а затем используйте отфильтрованную таблицу в функции SUMX.

В этом примере выражение:

FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Возвращает таблицу, которая является подмножеством интернет-продаж минус все строки, принадлежащие США территории продаж. Функция RELATED — это то, что связывает ключ "Территория" в таблице "Продажи Интернета" с SalesTerritoryCountry в таблице SalesTerritory.

В следующей таблице показано доказательство концепции меры, NON США Интернет-продаж, формулы, для которой приведены в приведенном ниже разделе кода. В таблице сравниваются все интернет-продажи с не США интернет-продаж, чтобы показать, что выражение фильтра работает, за исключением США продаж из вычисления.

Чтобы повторно создать эту таблицу, добавьте поле SalesTerritoryCountry в область меток строк отчета или сводной таблицы.

Таблица 1. Сравнение общих продаж для США и всех остальных регионов

Метки строк Internet Sales Не США интернет-продажи
Австралия $499,021,84 $499,021,84
Канада $1,343,109.10 $1,343,109.10
Франция $2,490,944,57 $2,490,944,57
Германия $2775,195,60 $2775,195,60
Соединенное Королевство $5,057,076,55 $5,057,076,55
Соединенные Штаты $9,389,479,79
Общий итог $26,054,827,45 $16,665,347,67

В последней таблице отчета отображаются результаты при создании сводной таблицы с помощью меры, НЕ США Интернет-продаж. Добавьте поле CalendarYear в область меток строк сводной таблицы и добавьте поле ProductCategoryName в область меток столбцов .

Таблица 2. Сравнение продаж, отличных от США по категориям продуктов

Метки строк Аксессуары Велосипеды Clothing Общий итог
2005 $1,526,481,95 $1,526,481,95
2006 $354,744.04 $354,744.04
2007 $156,480,18 $5,640,106,05 $70,142,77 $5,866,729,00
2008 $228,159,45 $ 5,386,558.19 $102,675.04 $5,717,392,68
Общий итог $384,639,633 $16,107,890,23 $ 172,817.81 $16,665,347,67
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")  
     ,'InternetSales_USD'[SalesAmount_USD])  

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