FILTER

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

Синтаксис

FILTER(<table>,<filter>)  

Параметры

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

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

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

Примечания

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

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

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

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

Пример

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

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

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

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

В следующей таблице показано подтверждение концепции для меры (продажи через Интернет ЗА ПРЕДЕЛАМИ США), формула, которая приведена в разделе кода ниже. Таблица сравнивает все продажи через Интернет с продажами через Интернет за пределами США, чтобы показать, что выражение фильтра работает, исключая продажи в США из вычислений.

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

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

Метки строк Internet Sales Продажи через Интернет за пределами США
Австралия 4 999 021,84 долл. США 4 999 021,84 долл. США
Канада 1 343 109,10 долл. США 1 343 109,10 долл. США
Франция 2 490 944,57 долл. США 2 490 944,57 долл. США
Германия 2 775 195,60 долл. США 2 775 195,60 долл. США
Соединенное Королевство 5 057 076,55 долл. США 5 057 076,55 долл. США
США 9 389 479,79 долл. США
Grand Total 26 054 827,45 долл. США 16 665 347,67 долл. США

В последней таблице отчета отображаются результаты при создании сводной таблицы с помощью меры (продажи через Интернет ЗА ПРЕДЕЛАМИ США). Добавьте поле CalendarYear в область Метки строк сводной таблицы и поле ProductCategoryNameв область Метки столбцов.

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

Метки строк Принадлежности Велосипеды Экипировка Общий итог
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