Compartilhar via


FILTER

aplica-se a:coluna calculadatabela calculadamedidacálculo visual

Retorna uma tabela que representa um subconjunto de outra tabela ou expressão.

Sintaxe

FILTER(<table>,<filter>)

Parâmetros

Prazo Definição
table A tabela a ser filtrada. A tabela também pode ser uma expressão que resulta em uma tabela.
filter Uma expressão booliana que deve ser avaliada para cada linha da tabela. Por exemplo, [Amount] > 0 ou [Region] = "France"

Valor de retorno

Uma tabela que contém apenas as linhas filtradas.

Observações

  • Você pode usar FILTER para reduzir o número de linhas na tabela com a qual está trabalhando e usar apenas dados específicos nos cálculos. FILTER não é usado de forma independente, mas como uma função que é inserida em outras funções que exigem uma tabela como argumento.

  • Para obter práticas recomendadas ao usar FILTER, consulte Evite usar FILTER como um argumento de filtro.

Use COUNTROWS em vez de COUNT em DAX

  • Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).

Exemplo

O exemplo a seguir cria um relatório de vendas pela Internet fora dos Estados Unidos usando uma medida que filtra as vendas nos Estados Unidos e, em seguida, corta por ano civil e categorias de produtos. Para criar essa medida, você filtra a tabela, o USD de Vendas pela Internet, usando o Território de Vendas e, em seguida, usa a tabela filtrada em uma função SUMX.

Neste exemplo, a expressão:

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

Retorna uma tabela que é um subconjunto de Vendas pela Internet menos todas as linhas que pertencem ao território de vendas dos Estados Unidos. A função RELATED é o que vincula a chave Territory na tabela Vendas pela Internet a SalesTerritoryCountry na tabela SalesTerritory.

A tabela a seguir demonstra a prova de conceito para a medida, NON USA Internet Sales, a fórmula para a qual é fornecida na seção de código abaixo. A tabela compara todas as vendas da Internet com vendas na Internet que não são dos EUA, para mostrar que a expressão de filtro funciona, excluindo as vendas dos Estados Unidos da computação.

Para recriar essa tabela, adicione o campo SalesTerritoryCountry à área rótulos de linha de um relatório ou tabela dinâmica.

Tabela 1. Comparando o total de vendas para eua versus todas as outras regiões

Rótulos de linha Vendas pela Internet Vendas na Internet que não são dos EUA
Austrália $4.999.021,84 $4.999.021,84
Canadá $1.343.109,10 $1.343.109,10
França $2.490.944,57 $2.490.944,57
Alemanha $2.775.195,60 $2.775.195,60
Reino Unido $5.057.076,55 $5.057.076,55
Estados Unidos $9.389.479,79
Total Geral $26.054.827,45 $16.665.347,67

A tabela de relatório final mostra os resultados ao criar uma Tabela Dinâmica usando a medida NON USA Internet Sales. Adicione o campo CalendarYear à área Rótulos de Linha da Tabela Dinâmica e adicione o campo ProductCategoryName à área rótulos de coluna .

Tabela 2. Comparando vendas não-americanas por categorias de produtos

Rótulos de linha Acessórios Bicicletas Roupa Total Geral
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
Total Geral $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])

Funções de filtro de função