FILTER

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

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

Синтаксис

DAX
FILTER(<table>,<filter>)  

Параметры

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

Возврат value

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

Замечания

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

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

Используйте COUNTROWS вместо COUNT в DAX

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

Пример

В следующем примере создается отчет о продажах Интернета за пределами США с помощью measure, которые filters продаж в СОЕДИНЕННЫх Штатах, and затем срезы по категориям calendaryearandproduct. Чтобы создать эту measure, вы filter таблицу, internet Sales USD, используя территорию продаж, and затем использовать отфильтрованную таблицу в функции SUMX.

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

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

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

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

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

Таблица 1. Сравнение общих продаж для США и all других регионов

Метки строк Интернет-продажи Не США интернет-продажи
Австралия $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

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

Таблица 2. Сравнение продаж, не являющихся США, по категориям product

Метки строк Принадлежности Велосипеды Одежда Общий итог
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
DAX
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")  
     ,'InternetSales_USD'[SalesAmount_USD])  

функции Filter
ALL функции
ALLEXCEPT функции