Partilhar via


Trabalhar com o comportamento do filtro de valor (visualização)

As opções de comportamento do filtro de valor no Power BI permitem que você influencie o mecanismo de filtragem automática presente no DAX que ocorre quando várias colunas da mesma tabela são filtradas. Esse comportamento é chamado informalmente de 'auto-exist'.

O que é o comportamento do filtro de valor

Quando várias colunas da mesma tabela são filtradas, o DAX entende que provavelmente nem todas as combinações de valores nessas colunas são válidas e, como resultado, exclui automaticamente combinações inválidas. O mecanismo DAX gerou um filtro de valor coalesced que não apenas retorna combinações válidas, mas também afeta os cálculos medidos. A configuração de comportamento do filtro de valor permite alterar esse comportamento em seu modelo semântico. Você pode decidir se deseja desativar os filtros de valores aglutinados e ativar filtros de valores independentes. Ativar filtros de valor independentes definindo a configuração de comportamento do filtro de valor como Independente (consulte mais adiante neste artigo) resulta em vários filtros na mesma tabela sendo mantidos separados em vez de o mecanismo DAX combinar esses filtros em um.

Noções básicas sobre o comportamento do filtro de valor

Quando você está filtrando várias colunas na mesma tabela, o comportamento de filtro de valor padrão atual usa esses filtros e os combina em um, considerando apenas as combinações existentes. Considere as duas colunas a seguir na mesma tabela:

  • Ano, que contém valores como '2023'.
  • Mês, que contém valores como 'janeiro de 2024'.

Se você filtrar em Ano e Mês, como essas colunas estão na mesma tabela, o comportamento do filtro de valor combina os filtros em um, mas apenas as combinações existentes são consideradas. A combinação do mês de janeiro de 2024 com o ano de 2023 não existe e não seria incluída no filtro. Há, no entanto, situações em que os resultados são surpreendentes.

Vejamos um exemplo, onde temos um catálogo mostrando a disponibilidade de cores para produtos por ano. O fabricante destes produtos experimentou fazer produtos em várias cores ao longo dos anos:

Captura de tela da tabela mostrando as cores do produto de 2022 a 2024.

Temos três produtos que estiveram disponíveis em várias cores ao longo dos anos. Observe como não há produtos vermelhos oferecidos em 2024. Isso vai ser importante um pouco mais tarde. Agora, vamos contar o número de produtos adicionando a seguinte medida:

Number of Products = COUNTROWS( 'Catalog' )`

A matriz a seguir mostra o número de produtos que estão disponíveis em várias cores por ano: Captura de tela de uma matriz mostrando o número de produtos por ano e cor.

Agora, vamos adicionar outra medida para calcular o número total de produtos para todos os anos:

Number of Products All Years = CALCULATE ( [Number of Products], ALL ( 'Catalog'[Year] ) )

Vamos colocar essas medidas lado a lado e filtrar para o ano de 2023 e apenas as cores azul e vermelha (então nada de preto). Você pode ver o número de produtos é 4 e o número de produtos em todos os anos para essas duas cores é 6:

Captura de ecrã de uma tabela que mostra o ano, o produto e a cor. Existem duas segmentações de dados, uma definida como Ano é igual a 2023 e outra definida como Cor é igual a Azul e Vermelho. A medida Número de Produtos retorna 4 e a medida Número de Produtos Todos os Anos retorna 6.

Se mudarmos o Ano para 2024, esperamos que a medida 'Número de Produtos' volte 2, pois há apenas dois produtos que são azuis em 2024 e não há produtos vermelhos nesse ano. Além disso, seria de esperar que o número de produtos para todos os anos não mudasse, porque, afinal, é suposto ser calculado ao longo de todos os anos. No entanto, o "Número de produtos para todos os anos" muda de 6 para 5:

Captura de ecrã de uma tabela que mostra o ano, o produto e a cor. Existem duas segmentações de dados, uma definida como Ano é igual a 2024 e outra definida como Cor é igual a Azul e Vermelho. A medida Número de Produtos retorna 2 e a medida Número de Produtos Todos os Anos retorna 5.

O número de produtos ao longo de todos os anos deve continuar a ser de 6, e não de 5. O que estamos vendo aqui é o comportamento do filtro de valor em ação: ele está combinando filtros na mesma tabela, removendo combinações que não existiam. Os filtros são Ano = 2024 e Cor = Azul ou Vermelho. Como esses dois filtros estão na mesma tabela, esses filtros são combinados em um filtro que filtra apenas as combinações existentes. Como não há produtos vermelhos em 2024, o filtro aplicado é Ano = 2024 e Cor = Azul. Portanto, o número de produtos para todos os anos agora conta apenas o número de produtos azuis, não os produtos azuis ou vermelhos. Isso retorna 5, como você pode confirmar na tabela.

Influenciando o comportamento do filtro de valor

Você pode controlar se deseja esse comportamento em seu modelo semântico, usando a configuração de comportamento de filtro de valor em seu modelo semântico no painel de propriedades na exibição de modelo:

Captura de ecrã do painel de propriedades na vista de modelo. As opções de comportamento do filtro de valor são realçadas.

Três opções estão disponíveis:

  • Automático - Esta é a configuração padrão e atualmente ativa o comportamento Coalesced. Quando terminarmos esta pré-visualização, os novos modelos definidos como Automático usarão Independente, haverá anúncio nessa altura.
  • Independente - Isso força os filtros na mesma mesa a serem mantidos separados. Depois de definir a configuração 'Comportamento do filtro de valor' como Independente, o número total de produtos para todos os anos retorna 6 conforme o esperado (veja abaixo).
  • Coalesced - Isso força o comportamento do filtro de valor a ser habilitado para o modelo semântico e resulta na combinação dos filtros na mesma tabela em um. O número de produtos para todos os anos no nosso exemplo continua a voltar para 5.

A tabela a seguir mostra o efeito dessa configuração para o nosso exemplo: | Definição do comportamento do filtro de valor | Filtros aplicados no exemplo | Resultado do exemplo de medida | | --- | --- | --- | |Automático|Ano = 2024,
Cor = Azul|5| |Independente|Ano = 2024,
Cor = Azul ou Vermelho|6| |Coalesced|Ano = 2024,
Cor = Azul|5|

Definir o comportamento do filtro Valor como Automático significa que ele é igual a Coalesced por enquanto, mas será alternado para Independente para novos modelos semânticos no futuro. Se você definir o comportamento do filtro Valor como Independente, o número de produtos para todos retornará 6, conforme o esperado, já que os filtros são Ano = 2024 e Cor = Azul ou Vermelho e não estão mais combinados:

Captura de ecrã de uma tabela que mostra o ano, o produto e a cor. Existem duas segmentações de dados, uma definida como Ano é igual a 2024 e outra definida como Cor é igual a Azul e Vermelho. A medida Número de Produtos retorna 2 e a medida Número de Produtos Todos os Anos retorna 6.

Próximos passos

Os seguintes artigos podem ser úteis: