Ao criar uma fórmula em um banco de dados do Notion, você pode descobrir que não é permitido referenciar a propriedade onde a própria fórmula reside. As fórmulas do Notion não podem ler o próprio valor da célula ou usar a propriedade atual como entrada. Essa limitação existe porque uma propriedade de fórmula é calculada a partir de outras propriedades, não armazenada como dados independentes. Este artigo explica por que a restrição de autorreferência existe e fornece três padrões alternativos confiáveis para alcançar a lógica necessária.
Principais Conclusões: Alternativas para Autorreferência em Fórmulas do Notion
- Crie uma propriedade auxiliar separada: Adicione uma propriedade de texto, número ou seleção que armazene o valor de entrada para sua fórmula.
- Use um rollup do mesmo banco de dados: Faça um rollup de um valor de uma relação que aponte para o mesmo banco de dados e, em seguida, referencie o rollup em sua fórmula.
- Aproveite uma automação do Notion: Defina automaticamente o valor de uma propriedade quando uma página for criada ou editada e, em seguida, use essa propriedade em sua fórmula.
Por que as Fórmulas do Notion Não Podem Referenciar a Própria Propriedade
As fórmulas do Notion são campos calculados. Elas calculam valores apenas a partir de outras propriedades na mesma linha do banco de dados. O mecanismo de fórmula não tem acesso ao valor da própria propriedade da fórmula porque esse valor é gerado pela própria fórmula. Permitir a autorreferência criaria uma lógica circular — a fórmula dependeria de sua própria saída, que não existe até que a fórmula seja executada.
Esse design é intencional. Ele evita loops infinitos e mantém o desempenho do banco de dados previsível. No entanto, também significa que você não pode escrever uma fórmula que leia ou modifique seu próprio resultado. Por exemplo, você não pode usar prop("Status") dentro de uma propriedade de fórmula também chamada Status. Se você precisar usar o status atual em um cálculo, deve armazenar o status em um tipo de propriedade diferente.
Como é o Erro de Autorreferência
Quando você tenta usar prop("NomeDaFormula") dentro de uma fórmula com o mesmo nome, o Notion exibe um banner de erro vermelho: “Esta fórmula tem uma referência circular.” O editor de fórmulas não salvará a alteração. A única maneira de prosseguir é remover a autorreferência e usar uma abordagem alternativa.
Três Padrões Alternativos Confiáveis para Autorreferência
Padrão 1: Armazenar a Entrada em uma Propriedade Não Fórmula
- Adicione uma nova propriedade de um tipo diferente
Crie uma propriedade de Texto, Número, Seleção ou Status. Nomeie-a como “Entrada de Status” ou “Entrada de Pontuação”. Essa propriedade armazenará o valor que sua fórmula teria referenciado em si mesma. - Preencha a propriedade de entrada manualmente ou por automação
Insira o valor diretamente para cada linha. Ou configure uma automação do Notion para copiar um valor de outra propriedade para esta propriedade de entrada quando as condições forem atendidas. - Referencie a propriedade de entrada em sua fórmula
Na propriedade de fórmula, useprop("Entrada de Status")ouprop("Entrada de Pontuação")em vez de tentar referenciar a própria propriedade de fórmula. A fórmula agora pode calcular com base nesse valor armazenado.
Este padrão funciona para qualquer cenário em que você precisa que a fórmula use um valor que muda ao longo do tempo. A propriedade de entrada atua como uma fonte estável que a fórmula pode ler.
Padrão 2: Usar uma Relação e Rollup para o Mesmo Banco de Dados
- Crie uma propriedade de relação que aponte para o mesmo banco de dados
Adicione uma propriedade de Relação. Defina o banco de dados relacionado como o mesmo banco de dados em que você está trabalhando. Nomeie-a como “Auto Relação”. - Vincule cada página a si mesma
Na célula “Auto Relação” de uma página, selecione a mesma página. Isso cria uma relação autorreferente. Você deve fazer isso para cada linha onde a fórmula precisa ler seus próprios dados. - Adicione uma propriedade de rollup que leia a propriedade alvo
Crie uma propriedade de Rollup. Defina a relação como “Auto Relação”. Escolha a propriedade que deseja ler (por exemplo, uma propriedade Status). Defina a agregação do rollup como “Mostrar original” se quiser o valor exato. - Referencie o rollup em sua fórmula
Sua fórmula agora pode usarprop("Nome do Rollup")para obter o valor da mesma linha. O rollup atua como uma ponte que a fórmula pode ler.
Este padrão é útil quando você precisa que a fórmula leia uma propriedade que já está presente no banco de dados. Evita criar uma propriedade de entrada duplicada. A desvantagem é que você deve vincular manualmente cada página a si mesma.
Padrão 3: Automatizar a Cópia de Valor com Automações do Notion
- Crie uma propriedade de entrada dedicada
Adicione uma propriedade de Texto ou Número chamada “Entrada Automática”. Esta propriedade será atualizada automaticamente por uma automação. - Configure uma automação do Notion
Vá ao menu do banco de dados, selecione Automações e crie uma nova automação. Escolha um gatilho como “Quando uma página for editada” ou “Quando uma nova página for criada”. - Defina a ação para copiar um valor
Defina a ação como “Editar uma página”. Escolha o mesmo banco de dados. Defina a propriedade “Entrada Automática” para o valor de outra propriedade — por exemplo, copie o valor de uma propriedade Status para Entrada Automática. - Referencie a entrada automatizada em sua fórmula
Sua fórmula agora pode usarprop("Entrada Automática")para ler o valor copiado. A automação mantém a propriedade de entrada sincronizada.
Este padrão é ideal quando o valor de origem muda com frequência e você não deseja atualizar a entrada manualmente. Observe que as automações têm limites no plano gratuito — você pode criar até três automações por espaço de trabalho.
Erros Comuns ao Contornar a Autorreferência
A Fórmula Ainda Mostra Referência Circular Após Adicionar uma Nova Propriedade
Se você renomear uma propriedade para coincidir com o nome da fórmula, a referência circular pode reaparecer. Certifique-se de que a propriedade de entrada tenha um nome diferente da propriedade da fórmula. Verifique também se nenhuma outra fórmula no banco de dados referencia a si mesma indiretamente por meio de uma cadeia de fórmulas.
Rollup Retorna Valor Vazio ou Incorreto
Um rollup de uma autorrelação exige que cada página esteja vinculada a si mesma. Se você esquecer de vincular uma página, o rollup não retornará valor. Use a visualização do banco de dados para verificar se a coluna de relação está preenchida para cada linha onde a fórmula deve funcionar.
Automação Não Dispara na Edição
As automações do Notion disparam apenas em ações específicas. Se você editar uma propriedade que não está incluída nas condições de gatilho da automação, a automação não será executada. Verifique se o gatilho inclui “Qualquer propriedade é editada” ou selecione a propriedade exata que muda.
Comparação dos Padrões Alternativos para Autorreferência em Fórmulas
| Item | Propriedade de Entrada | Auto Relação + Rollup | Cópia por Automação |
|---|---|---|---|
| Esforço de configuração | Baixo — uma nova propriedade | Médio — relação, rollup, vinculação manual | Médio — propriedade mais configuração de automação |
| Manutenção | Entrada manual de dados necessária | Vinculação manual para cada nova página | Automática após a configuração |
| Melhor para | Valores estáticos que raramente mudam | Quando você precisa ler uma propriedade existente | Valores de origem que mudam com frequência |
| Limitações | Coluna extra na visualização do banco de dados | Rollup pode desacelerar bancos de dados grandes | Limites do plano de automação se aplicam |
As fórmulas do Notion não podem referenciar a si mesmas, mas os três padrões acima permitem que você alcance o mesmo resultado sem acionar um erro de referência circular. Use o padrão de propriedade de entrada para casos simples, o rollup de autorrelação quando quiser reutilizar dados existentes e o padrão de automação quando os valores mudarem com frequência. Após aplicar uma dessas alternativas, teste a fórmula com algumas linhas para confirmar se a saída corresponde à lógica esperada. Para necessidades avançadas, considere usar uma integração com a API do Notion para escrever scripts personalizados que atualizem propriedades fora do editor de fórmulas.