Por que a Classificação por Fórmula no Notion Afeta os Resultados do Filtro em Outras Visualizações
🔍 WiseChecker

Por que a Classificação por Fórmula no Notion Afeta os Resultados do Filtro em Outras Visualizações

Você tem um banco de dados do Notion com uma coluna de fórmula. Ao classificar o banco por essa coluna, os resultados do filtro em uma visualização diferente do mesmo banco mudam inesperadamente. Isso acontece porque o Notion calcula os valores das fórmulas em uma ordem específica em relação à filtragem. Este artigo explica a causa técnica desse comportamento e mostra como evitar que classificações por fórmula quebrem seus filtros de visualização.

Principais Conclusões: Classificação por Fórmula Interferindo em Visualizações Filtradas

  • Ordem de avaliação da fórmula: O Notion avalia as fórmulas após a filtragem, portanto, uma classificação em uma coluna de fórmula pode reordenar as linhas e fazer com que os resultados filtrados pareçam inconsistentes.
  • Classificação no nível da visualização vs. classificação no nível do banco de dados: Adicionar uma classificação em uma coluna de fórmula dentro de uma visualização filtrada pode alterar quais linhas passam no filtro devido à dependência da fórmula em outras colunas.
  • Use uma coluna de Rollup: Substitua a coluna de fórmula por uma coluna de Rollup quando a classificação não puder afetar os resultados do filtro, pois os valores de Rollup são estáticos até que a propriedade de origem mude.

ADVERTISEMENT

Por que Classificar por uma Coluna de Fórmula Altera os Resultados do Filtro

O Notion processa as visualizações do banco de dados em uma sequência específica. Primeiro, ele aplica as condições do filtro às linhas do banco de dados. Em seguida, calcula os valores das fórmulas para as linhas que passaram no filtro. Por fim, classifica as linhas filtradas e calculadas com base nas regras de classificação definidas. Essa ordem é importante porque uma fórmula pode referenciar outras propriedades, incluindo rollups, relações ou outras fórmulas. Quando você classifica por uma coluna de fórmula, o Notion precisa calcular a fórmula para cada linha que passa no filtro. Se a fórmula depender de uma propriedade que é afetada pelo filtro — por exemplo, um rollup de um banco de dados vinculado que também possui filtros — o resultado pode alterar o conjunto de linhas que correspondem ao filtro.

A causa raiz é que o Notion não armazena em cache os valores das fórmulas antes da filtragem. Cada vez que você aplica uma classificação em uma coluna de fórmula, o Notion recalcula a fórmula para todas as linhas na visualização. Se a fórmula usar uma função como prop("Status") e a visualização tiver um filtro na mesma propriedade, a classificação pode fazer com que a fórmula retorne valores diferentes para a mesma linha, dependendo da direção da classificação. Isso cria a ilusão de que o filtro está quebrado, quando na realidade a fórmula está sendo avaliada após o filtro já ter reduzido o conjunto de linhas.

Dependência da Fórmula em Propriedades Filtradas

Considere um banco de dados com uma propriedade Status que pode ser “Ativo” ou “Inativo”. Você cria uma fórmula que retorna “Prioridade” se Status for igual a “Ativo” e “Baixa” se Status for igual a “Inativo”. Em seguida, você filtra a visualização para mostrar apenas linhas onde Status é “Ativo”. Se você classificar pela coluna de fórmula, o Notion primeiro filtra para linhas Ativas, depois calcula a fórmula para essas linhas e então classifica. A fórmula sempre retorna “Prioridade” para essas linhas, então a classificação não tem efeito. Mas se a fórmula referenciar um banco de dados relacionado ou um rollup que possui um filtro, a classificação pode desencadear um recálculo que altera o valor do rollup, o que muda o resultado da fórmula, podendo fazer com que a linha não corresponda mais ao filtro original.

Passos para Evitar que a Classificação por Fórmula Quebre os Filtros

  1. Identifique a cadeia de dependência da fórmula
    Abra a coluna de fórmula e anote cada propriedade que ela referencia. Se alguma propriedade referenciada for um Rollup, Relação ou outra fórmula, trace a cadeia até chegar a uma propriedade base. Escreva a lista completa de propriedades.
  2. Verifique as propriedades do filtro da visualização
    Vá para a visualização que mostra resultados incorretos. Clique no botão de filtro e liste todas as propriedades usadas no filtro. Compare esta lista com a lista de dependências da etapa 1. Se alguma propriedade aparecer em ambas as listas, essa propriedade é a fonte do conflito.
  3. Remova a classificação da coluna de fórmula da visualização conflitante
    Na visualização problemática, clique no botão de classificação (ícone de seta) e exclua a regra de classificação que usa a coluna de fórmula. Isso impede que o Notion recalcule a fórmula após a aplicação do filtro.
  4. Crie uma propriedade separada para classificação
    Adicione uma nova propriedade do tipo Seleção ou Número ao banco de dados. Defina manualmente valores nesta propriedade que correspondam à ordem de classificação desejada. Use esta nova propriedade para classificar em vez da coluna de fórmula. Como esta propriedade não é uma fórmula, o Notion não a recalcula durante a renderização da visualização.
  5. Use uma coluna de Rollup em vez de uma fórmula
    Se a fórmula estiver puxando dados de um banco de dados relacionado, substitua-a por uma coluna de Rollup. Os valores de Rollup são calculados quando a linha de origem muda, não durante a renderização da visualização. Isso os torna estáveis para classificação dentro de visualizações filtradas.
  6. Teste a visualização após cada alteração
    Após fazer qualquer alteração, atualize a visualização navegando para fora e voltando. Verifique se o filtro agora retorna as linhas esperadas independentemente da ordem de classificação.

ADVERTISEMENT

Se o Notion Ainda Mostrar Resultados de Filtro Incorretos Após a Correção

A coluna de fórmula ainda aparece na lista de classificação

Mesmo após excluir a regra de classificação, a coluna de fórmula pode reaparecer na lista de classificação se o banco de dados tiver uma classificação padrão definida no nível do banco de dados. Abra o painel de propriedades do banco de dados, clique no nome do banco e selecione “Propriedades”. Procure por uma regra de classificação padrão. Remova qualquer regra de classificação que referencie uma coluna de fórmula. As classificações no nível do banco de dados substituem as classificações no nível da visualização e podem reintroduzir o problema.

A coluna de Rollup muda de valor quando a classificação é aplicada

Se você mudou para uma coluna de Rollup, mas ainda vê alterações no filtro, o próprio Rollup pode depender de uma fórmula no banco de dados de origem. Abra o banco de dados de origem e verifique se a propriedade que está sendo agregada é uma fórmula. Se for, substitua essa fórmula por uma propriedade estática no banco de dados de origem. O Rollup então retornará um valor fixo que não muda durante a renderização da visualização.

O filtro usa uma fórmula que referencia a coluna classificada

Se o seu filtro for uma fórmula — por exemplo, uma fórmula que retorna verdadeiro ou falso — e essa fórmula referenciar a coluna pela qual você está classificando, o filtro e a classificação interferirão. Remova a fórmula do filtro e use um filtro de propriedade simples. Por exemplo, substitua uma fórmula de filtro como prop("Prioridade") == "Alta" por um filtro direto na propriedade Prioridade definido como “Alta”.

Comparação de Comportamento: Filtro de Visualização vs. Classificação por Fórmula no Notion

Item Filtro aplicado primeiro, depois classificação por fórmula Classificação por fórmula aplicada sem filtro
Seleção de linhas As linhas são selecionadas pelo filtro antes do cálculo da fórmula Todas as linhas são incluídas e a fórmula é calculada para cada linha
Momento do cálculo da fórmula Calculada após o filtro, apenas para as linhas filtradas Calculada para todas as linhas antes de qualquer ordenação
Efeito nos resultados do filtro A classificação pode alterar quais linhas aparecem se a fórmula referenciar a propriedade filtrada Nenhum filtro para afetar
Solução recomendada Use uma propriedade estática para classificação ou substitua a fórmula por Rollup Nenhuma solução necessária

Agora você entende por que classificar por uma coluna de fórmula pode alterar os resultados do filtro no Notion. A correção principal é remover a coluna de fórmula da regra de classificação na visualização filtrada e usar uma propriedade estática ou uma coluna de Rollup para classificação. Para controle avançado, considere criar uma propriedade dedicada de Ordem de Classificação com números atribuídos manualmente e classificar por essa propriedade. Essa abordagem oferece um comportamento de classificação previsível e independente de filtros em todas as visualizações.

ADVERTISEMENT