Por que a Relação do Notion não pode filtrar por predicado de múltiplas propriedades
🔍 WiseChecker

Por que a Relação do Notion não pode filtrar por predicado de múltiplas propriedades

Ao usar uma propriedade Relação em um banco de dados do Notion, você pode esperar filtrar os registros vinculados por condições que combinam duas ou mais propriedades, como “Status é Concluído e Prioridade é Alta”. No entanto, o filtro de Relação do Notion permite apenas um predicado — uma condição baseada em uma propriedade. Essa limitação se aplica tanto ao filtro de visualização do banco de dados quanto às funções de fórmula que referenciam a relação. A causa raiz está em como o Notion armazena dados de relação como uma matriz simples de IDs de página, em vez de um sub-banco de dados consultável. Este artigo explica o motivo técnico dessa restrição e fornece soluções práticas para alcançar a filtragem de múltiplas propriedades em registros relacionados.

Principais conclusões: Limite de filtro de predicado único da Relação do Notion

  • Estrutura de dados da propriedade Relação: Armazena apenas IDs de páginas vinculadas, não valores de propriedades, então os filtros não podem avaliar múltiplas condições no banco de dados relacionado.
  • Filtro de visualização do banco de dados na relação: Suporta apenas um predicado (ex.: “Status contém Concluído”) por coluna de relação, sem condições compostas AND/OR.
  • Solução com fórmula usando rollup: Combine uma propriedade Rollup com uma fórmula de caixa de seleção no banco de dados relacionado para simular filtragem de múltiplas propriedades.

ADVERTISEMENT

Por que os filtros de Relação do Notion filtram apenas uma propriedade

A propriedade Relação do Notion é um campo de referência que vincula uma página em um banco de dados a uma ou mais páginas em outro banco de dados. Quando você abre uma célula de relação, vê os títulos das páginas vinculadas e possivelmente uma prévia das propriedades, mas os dados subjacentes são simplesmente uma matriz de IDs de página. Esse design mantém a relação leve e rápida. No entanto, também significa que, ao adicionar um filtro a uma coluna de relação em uma visualização de banco de dados, o Notion não pode consultar as propriedades do banco de dados relacionado em tempo real. O filtro funciona verificando se o ID da página vinculada corresponde a uma condição, e essa condição só pode avaliar uma única propriedade da página relacionada. Por exemplo, você pode filtrar por “Status da Tarefa Relacionada é Concluído”, mas não por “Status da Tarefa Relacionada é Concluído E Prioridade da Tarefa Relacionada é Alta”. O mecanismo de filtro do Notion não suporta subconsultas ou junções que permitiriam predicados de múltiplas propriedades em relações. Esta é uma escolha arquitetônica deliberada para manter o desempenho e a simplicidade.

Como o Notion representa dados de relação internamente

Cada célula de relação armazena uma lista de UUIDs que correspondem a páginas no banco de dados de destino. Quando você abre uma relação, o Notion busca os títulos e as propriedades selecionadas para exibição. Mas para filtragem, o mecanismo vê apenas a lista de UUIDs. Um predicado de filtro como “contém” ou “é” verifica se um ID de página específico está presente. Para suportar predicados de múltiplas propriedades, o Notion precisaria executar uma consulta contra o banco de dados de destino para cada linha no banco de dados de origem, o que se torna caro à medida que os bancos de dados crescem. Em vez disso, o Notion limita os filtros de relação a condições de propriedade única, confiando que o usuário estruture os dados de forma diferente quando a filtragem complexa for necessária.

Soluções para filtragem de múltiplas propriedades em registros relacionados

Como você não pode filtrar diretamente uma relação por múltiplas propriedades, pode reestruturar seus dados ou usar fórmulas para alcançar o mesmo resultado. Abaixo estão três métodos práticos.

Método 1: Adicionar uma propriedade calculada no banco de dados relacionado

  1. Crie uma propriedade Fórmula no banco de dados de destino
    Abra o banco de dados que contém as páginas para as quais você vincula. Adicione uma propriedade Fórmula. Escreva uma fórmula que retorne um booleano (verdadeiro/falso) quando ambas as condições forem atendidas. Por exemplo: if(prop("Status") == "Concluído" and prop("Prioridade") == "Alta", true, false). Nomeie esta propriedade como “Pronto para Revisão” ou algo que se adeque ao seu caso de uso.
  2. Agregue a propriedade calculada ao banco de dados de origem
    No banco de dados de origem, adicione uma propriedade Rollup que referencie a relação e puxe o valor da fórmula calculada. Defina a agregação do rollup como “Mostrar original” se quiser ver o booleano exato, ou “Marcado” se quiser uma caixa de seleção.
  3. Filtre pelo valor do rollup
    Agora você pode filtrar a visualização do banco de dados de origem pela propriedade Rollup. Por exemplo, filtre onde “Pronto para Revisão” está marcado. Isso efetivamente filtra a relação pela condição de múltiplas propriedades definida no banco de dados de destino.

Método 2: Usar uma visualização de banco de dados vinculada com filtro composto

  1. Crie uma visualização vinculada do banco de dados de destino
    Na página ou banco de dados de origem, adicione um bloco de banco de dados vinculado que aponte para o banco de dados de destino. Isso fornece uma visualização completa do banco de dados de destino com todas as suas propriedades.
  2. Aplique um filtro composto à visualização vinculada
    Clique no ícone de filtro na visualização do banco de dados vinculado. Adicione múltiplas condições de filtro. Por exemplo, adicione “Status contém Concluído” e “Prioridade contém Alta” e defina o grupo de filtros como “E”. Isso filtra os registros exibidos para apenas aqueles que atendem a ambas as condições.
  3. Use a lista filtrada como um seletor de relação manual
    Quando precisar vincular uma página, abra a relação e veja apenas a lista filtrada. Isso não é automático, mas fornece um filtro visual que corresponde a critérios de múltiplas propriedades.

Método 3: Construir um banco de dados auxiliar com uma junção pré-calculada

  1. Crie um novo banco de dados que atue como ponte
    Construa um banco de dados que contenha uma página para cada combinação da página de origem e da página de destino. Cada página tem uma relação com a origem e uma relação com o destino, além de uma fórmula que verifica a condição de múltiplas propriedades no destino.
  2. Filtre o banco de dados ponte
    No banco de dados ponte, filtre pela propriedade fórmula que retorna verdadeiro apenas quando ambas as condições de destino são atendidas. Em seguida, use um rollup ou relação da origem para este conjunto filtrado.
  3. Referencie a ponte filtrada em sua origem
    Adicione uma relação do banco de dados de origem para o banco de dados ponte. Isso é complexo de configurar, mas funciona para cenários de automação avançada.

ADVERTISEMENT

Se o filtro de Relação ainda não funcionar como esperado

Mesmo com soluções, você pode encontrar situações em que o filtro não se comporta como desejado. Abaixo estão problemas comuns e suas soluções.

Rollup mostra “Sem dados” ou está vazio

Um rollup que puxa uma fórmula do banco de dados de destino pode retornar vazio se a relação não estiver configurada corretamente ou se a propriedade fórmula estiver oculta. Verifique se a propriedade relação na página de origem realmente vincula a uma página. Além disso, certifique-se de que a propriedade fórmula do banco de dados de destino esteja visível e não configurada como “Ocultar quando vazio”.

Visualização de banco de dados vinculado não atualiza automaticamente

As visualizações de banco de dados vinculado são instantâneos estáticos até que você atualize a página. Se você alterar um valor de propriedade no banco de dados de destino, a visualização vinculada pode não refletir a mudança imediatamente. Pressione F5 ou clique no botão de atualização na barra de ferramentas do banco de dados para forçar uma atualização.

Filtro composto na coluna de relação está desabilitado

Ao adicionar um filtro diretamente em uma coluna de relação no banco de dados de origem, o Notion permite apenas uma condição. O menu suspenso de grupo de filtros (E/OU) está desabilitado. Isso é por design. Você deve usar o método de rollup ou uma visualização vinculada para aplicar múltiplas condições.

Abordagem de filtro Propriedade única Múltiplas propriedades
Filtro direto na coluna de relação Suportado Não suportado
Rollup + fórmula no banco de dados de destino Suportado Suportado com uma propriedade extra
Visualização de banco de dados vinculado com filtro composto Suportado Suportado
Banco de dados ponte com junção Suportado Suportado com configuração complexa

O filtro de relação do Notion é intencionalmente limitado a um único predicado para manter o mecanismo do banco de dados rápido e simples. Ao usar uma propriedade rollup que agrega uma condição de múltiplas propriedades pré-calculada do banco de dados de destino, você pode filtrar efetivamente registros relacionados por múltiplos critérios. Para filtragem ad hoc, uma visualização de banco de dados vinculada com um filtro composto oferece controle total sem reestruturar seus dados. Se você precisar de filtragem automatizada de múltiplas propriedades em muitas páginas, considere a abordagem do banco de dados ponte. Experimente primeiro o método de rollup — ele requer menos manutenção e escala bem para a maioria dos fluxos de trabalho.

ADVERTISEMENT