Power BI · 2026-10-13

KEEPFILTERS no Power BI: preserve o recorte da medida

Use KEEPFILTERS no Power BI para combinar a regra da medida com filtros existentes. Confira interseções, seleções vazias e totais com exemplos claros.

KEEPFILTERS no Power BI: preserve o recorte da medida

KEEPFILTERS no Power BI: preserve o recorte da medida

Usar KEEPFILTERS no Power BI pode impedir que uma condição interna da medida substitua um filtro já aplicado à mesma coluna. Isso importa quando a pessoa seleciona uma situação e espera que o cálculo respeite essa escolha. O comportamento correto depende da pergunta: algumas medidas seguem o recorte; outras representam uma referência fixa.

Este guia usa uma tabela hipotética de pedidos com valor, região e situação. Os exemplos foram construídos para mostrar conjuntos e resultados esperados, sem depender de um modelo comercial específico.

1. Defina a intenção de KEEPFILTERS no Power BI

A documentação da Microsoft sobre KEEPFILTERS, consultada em 13 de outubro de 2026, descreve a interseção com filtros existentes durante a avaliação de CALCULATE ou CALCULATETABLE. O resultado precisa atender às condições internas e ao contexto compatível já aplicado.

Escreva se a medida significa “confirmados dentro da seleção atual” ou “referência de todos os confirmados”. As duas intenções podem ser úteis, mas não devem compartilhar um título ambíguo. Antes do código, defina o esperado quando o leitor seleciona somente cancelados. Essa escolha revela se você quer uma interseção sem correspondência ou uma referência que continua mostrando confirmados.

2. Confira a medida base sem filtros especiais

Prepare uma medida simples para somar o valor de pedidos. Neste exemplo, Valor é o valor cadastrado do documento, inclusive em pedidos cancelados, e não representa receita reconhecida. O nome deve refletir essa definição.

Valor de pedidos =
SUM(Pedidos[Valor])

Valide a soma por situação e região antes de acrescentar condições. Preserve uma chave única de pedido para evitar que itens ou eventos repitam o valor total. Se a base tiver granularidade de itens, adapte a medida ao significado da coluna. Um filtro corretamente aplicado sobre linhas duplicadas continuará produzindo um valor errado para o negócio.

3. Entenda a substituição na mesma coluna

A referência de CALCULATE explica a avaliação em contexto de filtro modificado. Sem KEEPFILTERS, uma condição de filtro pode substituir o filtro existente na mesma coluna. Isso não significa remover indiscriminadamente todos os filtros da página.

Confirmados como referência =
CALCULATE(
    [Valor de pedidos],
    Pedidos[Situacao] = "Confirmado"
)

O exemplo mantém a definição simples de uma coluna de situação na tabela Pedidos. Teste-o com um segmentador dessa mesma coluna. Não generalize o resultado para um modelo que usa outra dimensão de situação sem conferir os caminhos de relacionamento. Colunas diferentes podem produzir restrições adicionais, mesmo quando seus rótulos parecem representar a mesma informação.

4. Implemente a interseção da regra e da seleção

Para responder “valor confirmado dentro do recorte escolhido”, envolva a condição com KEEPFILTERS. DAX é a linguagem de expressões usada nas medidas do modelo.

Confirmados no recorte =
CALCULATE(
    [Valor de pedidos],
    KEEPFILTERS(Pedidos[Situacao] = "Confirmado")
)

O código é didático e pressupõe medidas e colunas com esses nomes. Compare as duas versões lado a lado em uma página de teste. Não substitua automaticamente todo CALCULATE por uma expressão com KEEPFILTERS: a mudança pode contrariar indicadores que foram desenhados como referência fixa. A intenção do cálculo precisa decidir a escolha, e não uma regra de edição aplicada a todas as medidas.

5. Confira três pedidos hipotéticos

Considere um pedido confirmado de R$ 100 no Sul, outro confirmado de R$ 200 no Norte e um cancelado de R$ 50 no Sul. Sem filtro de situação, a medida base soma R$ 350. As duas medidas de confirmados retornam R$ 300 nesse conjunto.

Agora selecione somente Cancelado na coluna usada pelo exemplo. A referência de confirmados continua em R$ 300, enquanto a versão com interseção fica sem correspondência. Ao selecionar somente Confirmado, ambas retornam R$ 300.

Anote os resultados esperados e confira os identificadores que entraram em cada cálculo. Assim, a diferença fica explicável como escolha de população, sem depender de decorar uma fórmula.

6. Preserve filtros de outras colunas na conferência

No mesmo cenário, selecione região Sul sem restringir situação. As medidas de confirmados devem considerar o pedido de R$ 100 dessa região. A condição de situação não deve ser interpretada como autorização para incluir o pedido confirmado do Norte.

Depois combine Sul e Cancelado e confira a diferença entre referência e interseção. O roteiro de segmentações sincronizadas complementa testes de seleções que acompanham a navegação. Execute o caminho real do relatório, porque filtros de página, visual e outras dimensões podem participar do contexto. Uma captura estática sem essas escolhas não comprova o comportamento que o público encontrará.

7. Trate ausência de correspondência sem inventar zero

Quando não existem pedidos que atendam simultaneamente à situação escolhida e à condição interna, a soma do exemplo fica vazia. Defina como apresentar esse estado. Um rótulo como “nenhum pedido corresponde ao recorte” pode ser mais claro que um cartão sem explicação.

Não use zero automaticamente para esconder a interseção vazia. Zero confirmado e ausência de população podem ter significados diferentes na decisão. O guia de DIVIDE e taxas sem base complementa esse cuidado quando a medida participa de uma razão. Confira numerador e denominador juntos: preservar o filtro em apenas um componente pode criar uma taxa que mistura populações incompatíveis.

8. Verifique seleções múltiplas, linhas e total

Teste seleção de Confirmado e Cancelado simultaneamente. A regra interna mantém apenas Confirmado dentro desse conjunto. Depois coloque situação nas linhas de uma matriz e confira o resultado em cada linha e no total.

Não espere que toda medida de referência apareça somente na linha cujo rótulo coincide com seu critério. Se ela substitui o filtro da mesma coluna, pode mostrar a referência em outras linhas, conforme o desenho do exemplo. O artigo de totais em DAX ajuda a revisar o contexto de cada célula. Nomeie a medida e teste seu uso em matriz, cartão e página de detalhe antes de liberá-la.

9. Revise relacionamentos e limites de uso

Uma interseção pode ficar vazia por seleção incompatível ou por problema de relacionamento. Confira chaves, direção do caminho de filtro e população da fonte. Não introduza uma função de filtro para compensar uma ligação que ainda não foi compreendida.

O guia de tabela ponte complementa modelos com associações múltiplas. A Microsoft informa que KEEPFILTERS não é suportada em colunas calculadas e regras de segurança por linhas no modo DirectQuery, que consulta a fonte durante o uso do modelo. Este roteiro trata medidas. Não use o exemplo como regra de proteção de dados; controle de acesso exige configuração e verificação próprias.

10. Libere a medida com uma especificação curta

Guarde intenção, coluna filtrada, critério interno e casos esperados. Inclua seleção única, múltipla, incompatível, filtro de região e total geral. Essa especificação permite revisar o comportamento quando a página ou o modelo mudar.

O modelo editável de Vendas inclui faturamento, metas e análises por grupos. Ao adaptá-lo, escolha conscientemente quais medidas seguem a seleção e quais são referências. Peça a alguém da área para interpretar os dois resultados sem ajuda. A medida está pronta quando o leitor entende sua população e consegue reconhecer por que uma seleção produz um valor ou uma ausência de correspondência.