Partilhar via


FILTRAR

Aplica-se a: Coluna calculada Tabela calculada Medida Cálculo visual

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

Sintaxe

FILTER(<table>,<filter>)  

Parâmetros

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

Valor devolvido

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 independentemente, mas como uma função incorporada em outras funções que exigem uma tabela como argumento.

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

Use COUNTROWS em vez de COUNT no DAX

  • Esta função não é suportada para utilização no modo DirectQuery quando utilizada em colunas calculadas ou regras de segurança ao nível da linha (RLS).

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, segmentando por ano civil e categorias de produtos. Para criar essa medida, filtre a tabela, Internet Sales USD, usando Sales Territory e, em seguida, use 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 Internet Sales a SalesTerritoryCountry na tabela SalesTerritory.

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

Para recriar esta tabela, adicione o campo, SalesTerritoryCountry, à área Rótulos de Linha de um relatório ou Tabela Dinâmica.

Tabela 1. Comparando as vendas totais dos EUA com todas as outras regiões

Rótulos de linha Vendas pela Internet Vendas pela Internet fora 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 da América $9,389,479.79
Total Geral $26.054.827,45 $16.665.347,67

A tabela de relatório final mostra os resultados quando você cria 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 as vendas fora dos EUA por categorias de produtos

Rótulos de linha Accessories Bikes Vestuário 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
Função ALL
Função ALLEXCEPT