Compartilhar via


Função FILTER (DAX)

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

Sintaxe

FILTER(<table>,<filter>)

Parâmetros

Termo

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 a 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 da tabela com a qual está trabalhando e usar apenas dados específicos nos cálculos. FILTER não é usada de forma independente, mas como uma função inserida em outras funções que exigem uma tabela como argumento.

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, dividindo por categorias de ano e produto. Para criar essa medida, filtre a tabela, Internet Sales USD, usando Sales Territor 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 Internet Sales 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 da 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 pela Internet fora dos EUA, para mostrar que a expressão de filtro funciona, excluindo do cálculo as vendas nos Estados Unidos.

Para recriar essa tabela, adicione o campo SalesTerritoryCountry à área Rótulos de Linha da Tabela Dinâmica.

Tabela 1. Comparando o total de vendas nos EUA com todas as outras regiões

Rótulos de Linha

Internet Sales

Non USA Internet Sales

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

 

Grand Total

$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 produto

Non USA Internet Sales

Rótulos de Coluna

 

 

 

Rótulos de Linha

Accessories

Bikes

Clothing

Grand Total

2001

 

$1,526,481.95

 

$1,526,481.95

2002

 

$3,554,744.04

 

$3,554,744.04

2003

$156,480.18

$5,640,106.05

$70,142.77

$5,866,729.00

2004

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

Consulte também

Referência

Outros recursos