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