FILTER
Aplica-se a:Coluna calculadaTabela calculadaMeasureCálculo visual
Retorna uma tabela que representa um subconjunto de outra tabela or 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 or[Region] = "France" |
Regresso value
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 and usar apenas dados específicos nos cálculos. FILTER not é 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 filter.
Use COUNTROWS em vez de COUNT em DAX
- Esta função not é suportada para uso no modo DirectQuery quando usada em colunas calculadas or regras de segurança em nível de linha (RLS).
Exemplo
O exemplo a seguir cria um relatório de vendas pela Internet fora dos Estados Unidos usando um measure que filters as vendas nos Estados Unidos e, em seguida, and fatiamento por calendaryearandproduct categorias. Para criar esse measure, você filter a tabela, Internet Sales USD, usando Sales Territory and 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 all 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 o measure, NON USA Internet Sales, cuja fórmula é fornecida na seção de código abaixo. A tabela compara as vendas all pela Internet com as vendas fora dos EUA, para mostrar que a expressão filter funciona, excluindo as vendas dos Estados Unidos do cálculo.
Para recriar esta tabela, adicione o campo, SalesTerritoryCountry, à área Rótulos de Linha
Tabela 1. Comparando as vendas totais dos EUA com all 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 o measure, NON USA Internet Sales. Adicione o campo, CalendarYear, à área Rótulos de Linha
Tabela 2. Comparando as vendas fora dos EUA por categorias de product
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])