FILTER
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
Vigência | 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 booleana 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.
Comentários
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 o FILTER, consulte Evite usar FILTER como argumento de filtro.
Use COUNTROWS em vez de COUNT em 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 Vendas pela Internet 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 | $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
Tabela 2. Comparando as vendas fora dos EUA por categorias de produtos
Rótulos de linha | Acessórios | Bicicletas | 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])