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])