FILTER, функция

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

Синтаксис

FILTER(<table>,<filter>)

Параметры

Элемент

Определение

table

Таблица для фильтрации. Аргумент table также может быть выражением, результатом которого является таблица.

filter

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

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

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

Замечания

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

Пример

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

В этом примере выражение FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States") возвращает таблицу, которая является подмножеством данных о продажах через Интернет за вычетом всех строк, которые относятся к продажам на территории США. Функция RELATED связывает ключи территории продаж через Интернет с SalesTerritoryCountry в таблице SalesTerritory.

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

Чтобы заново создать таблицу, добавьте поле «SalesTerritoryCountry» к области Row Labels сводной таблицы.

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

Row Labels

Internet Sales

Non USA Internet Sales

Australia

$4,999,021.84

$4,999,021.84

Canada

$1,343,109.10

$1,343,109.10

France

$2,490,944.57

$2,490,944.57

Germany

$2,775,195.60

$2,775,195.60

United Kingdom

$5,057,076.55

$5,057,076.55

United States

$9,389,479.79

 

Общий итог

$26,054,827.45

$16,665,347.67

В окончательной таблице отчета показаны результаты создания сводной таблицы с помощью меры NON USA Internet Sales. Добавьте поле CalendarYear к области Row Labels сводной таблицы, а затем добавьте поле ProductCategoryName к области Column Labels.

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

Non USA Internet Sales

Column Labels

 

 

 

Row Labels

Accessories

Bikes

Одежда

Общий итог

2005

 

$1,526,481.95

 

$1,526,481.95

2006

 

$3,554,744.04

 

$3,554,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

Grand Total

$384,639.63

$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

Другие ресурсы

Функции фильтров (DAX)