Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Esta seção descreve como criar filtros em fórmulas DAX (Expressões de Análise de Dados). Você pode criar filtros em fórmulas para restringir os valores dos dados de origem usados nos cálculos. Você faz isso especificando uma tabela como uma entrada para a fórmula e definindo uma expressão de filtro. A expressão de filtro que você fornece é usada para consultar os dados e retornar apenas um subconjunto dos dados de origem. O filtro é aplicado dinamicamente sempre que você atualiza os resultados da fórmula, dependendo do contexto atual de seus dados.

Neste artigo

Criando um filtro em uma tabela usado em uma fórmula

Você pode aplicar filtros em fórmulas que levam uma tabela como entrada. Em vez de inserir um nome de tabela, use a função FILTER para definir um subconjunto de linhas da tabela especificada. Esse subconjunto é passado para outra função, para operações como agregação personalizada.

Por exemplo, suponha que você tenha uma tabela de dados que contenha informações de ordem sobre revendedores e queira calcular quanto cada revendedor foi vendido. No entanto, você deseja mostrar o valor de vendas apenas para os revendedores que venderam várias unidades de seus produtos de maior valor. A fórmula a seguir, com base na lista de trabalho de exemplo do DAX, mostra um exemplo de como você pode criar esse cálculo usando um filtro:

=SUMX(
     FILTER ('ResellerSales_USD', 'ResellerSales_USD'[Quantity] > 5 &&
     'ResellerSales_USD'[ProductStandardCost_USD] > 100),
     'ResellerSales_USD'[SalesAmt]
     )

  • A primeira parte da fórmula especifica uma das funções Power Pivot agregação, que assume uma tabela como um argumento. SUMX calcula uma soma sobre uma tabela.

  • A segunda parte da fórmula, FILTER(table, expression),informa SUMX quais dados usar. SUMX requer uma tabela ou uma expressão que resulta em uma tabela. Aqui, em vez de usar todos os dados de uma tabela, você usa a função FILTER para especificar quais das linhas da tabela são usadas.

    A expressão de filtro tem duas partes: a primeira parte nomeia a tabela à qual o filtro se aplica. A segunda parte define uma expressão a ser usada como condição de filtro. Nesse caso, você está filtrando revendedores que venderam mais de 5 unidades e produtos que custam mais de US$ 100. O operador, &&, é um operador AND lógico, que indica que ambas as partes da condição devem ser verdadeiras para que a linha pertença ao subconjunto filtrado.

  • A terceira parte da fórmula informa à SUMX quais valores devem ser resumidos. Nesse caso, você está usando apenas o valor de vendas.

    Observe que funções como FILTER, que retornam uma tabela, nunca retornam a tabela ou linhas diretamente, mas são sempre incorporadas em outra função. Para obter mais informações sobre FILTER e outras funções usadas para filtragem, incluindo mais exemplos, consulte Filter Functions (DAX).

    Observação: A expressão de filtro é afetada pelo contexto no qual é usado. Por exemplo, se você usar um filtro em uma medida e a medida for usada em uma tabela dinâmica ou Gráfico Dinâmico, o subconjunto de dados retornado poderá ser afetado por filtros adicionais ou Slicers aplicados pelo usuário na Tabela Dinâmica. Para obter mais informações sobre contexto, consulte Context in DAX Formulas.

Filtros que removem duplicatas

Além da filtragem de valores específicos, você pode retornar um conjunto exclusivo de valores de outra tabela ou coluna. Isso pode ser útil quando você deseja contar o número de valores exclusivos em uma coluna ou usar uma lista de valores exclusivos para outras operações. O DAX fornece duas funções para retornar valores distintos: Função DISTINCT e Função VALUES.

  • A função DISTINCT examina uma única coluna que você especifica como um argumento para a função e retorna uma nova coluna contendo apenas os valores distintos.

  • A função VALUES também retorna uma lista de valores exclusivos, mas também retorna o membro Desconhecido. Isso é útil quando você usa valores de duas tabelas ingressadas por uma relação, e um valor está ausente em uma tabela e presente na outra. Para obter mais informações sobre o membro Desconhecido, consulte Context in DAX Formulas.

Ambas as funções retornam uma coluna inteira de valores; portanto, você usa as funções para obter uma lista de valores que são passados para outra função. Por exemplo, você pode usar a seguinte fórmula para obter uma lista dos produtos distintos vendidos por um revendedor específico, usando a chave de produto exclusiva e, em seguida, contar os produtos nessa lista usando a função COUNTROWS:

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

Início da página

Como o contexto afeta filtros

Quando você adiciona uma fórmula DAX a uma tabela dinâmica ou Gráfico Dinâmico, os resultados da fórmula podem ser afetados pelo contexto. Se você estiver trabalhando em uma Power Pivot, o contexto será a linha atual e seus valores. Se você estiver trabalhando em uma tabela dinâmica ou Gráfico Dinâmico, o contexto significa o conjunto ou subconjunto de dados definido por operações como o corte ou filtragem. O design da tabela dinâmica ou Gráfico Dinâmico também impõe seu próprio contexto. Por exemplo, se você criar uma Tabela Dinâmica que acarinde vendas por região e ano, somente os dados que se aplicarem a essas regiões e anos serão exibidos na Tabela Dinâmica. Portanto, todas as medidas que você adicionar à Tabela Dinâmica são calculadas no contexto dos títulos de coluna e linha mais quaisquer filtros na fórmula de medida.

Para obter mais informações, consulte Contexto em fórmulas DAX.

Início da Página

Removendo filtros

Ao trabalhar com fórmulas complexas, talvez você queira saber exatamente quais são os filtros atuais ou modificar a parte de filtro da fórmula. O DAX fornece várias funções que permitem remover filtros e controlar quais colunas são mantidas como parte do contexto de filtro atual. Esta seção fornece uma visão geral de como essas funções afetam os resultados em uma fórmula.

Substituindo todos os filtros com a função ALL

Você pode usar a função ALL para substituir todos os filtros que foram aplicados anteriormente e retornar todas as linhas da tabela para a função que está executando o agregado ou outra operação. Se você usar uma ou mais colunas, em vez de uma tabela, como argumentos para ALL, a função ALL retornará todas as linhas, ignorando todos os filtros de contexto.

Observação: Se você estiver familiarizado com a terminologia de banco de dados relacional, você pode pensar em ALL como gerando a junção externa à esquerda natural de todas as tabelas.

Por exemplo, suponha que você tenha as tabelas, Vendas e Produtos e você deseja criar uma fórmula que calculará a soma das vendas para o produto atual dividido pelas vendas de todos os produtos. Você deve levar em consideração o fato de que, se a fórmula for usada em uma medida, o usuário da Tabela Dinâmica pode estar usando uma Slicer para filtrar um determinado produto, com o nome do produto nas linhas. Portanto, para obter o valor verdadeiro do denominador, independentemente de quaisquer filtros ou Slicers, você deve adicionar a função ALL para substituir quaisquer filtros. A fórmula a seguir é um exemplo de como usar ALL para substituir os efeitos dos filtros anteriores:

=SUM (Sales[Amount])/SUMX(Sales[Amount], FILTER(Sales, ALL(Products))

  • A primeira parte da fórmula, SUM (Sales[Amount]), calcula o numerador.

  • A soma leva em consideração o contexto atual, o que significa que, se você adicionar a fórmula a uma coluna calculada, o contexto de linha será aplicado e, se você adicionar a fórmula a uma Tabela Dinâmica como medida, todos os filtros aplicados na Tabela Dinâmica (o contexto do filtro) serão aplicados.

  • A segunda parte da fórmula calcula o denominador. A função ALL substitui todos os filtros que podem ser aplicados à Products tabela.

Para obter mais informações, incluindo exemplos detalhados, consulte ALL Function.

Substituindo filtros específicos com a função ALLEXCEPT

A função ALLEXCEPT também substitui filtros existentes, mas você pode especificar que alguns dos filtros existentes devem ser preservados. As colunas que você nomeia como argumentos para a função ALLEXCEPT especificam quais colunas continuarão a ser filtradas. Se você quiser substituir filtros da maioria das colunas, mas não todas, ALLEXCEPT é mais conveniente do que ALL. A função ALLEXCEPT é particularmente útil quando você está criando tabelas dinâmicas que podem ser filtradas em várias colunas diferentes e você deseja controlar os valores usados na fórmula. Para obter mais informações, incluindo um exemplo detalhado de como usar ALLEXCEPT em uma Tabela Dinâmica, consulte Função ALLEXCEPT.

Início da página

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×