Você tentou criar uma propriedade Rollup em um banco de dados do Notion que referencia outra propriedade Rollup em um banco de dados relacionado, mas o campo Rollup aparece desabilitado ou ausente na lista de propriedades de origem. Isso acontece porque o Notion restringe Rollups a puxar apenas de tipos de propriedade padrão, não de outras propriedades Rollup. O motivo técnico é que Rollups são valores calculados, não dados armazenados, e encadeá-los criaria riscos de dependência circular e problemas de desempenho. Este artigo explica por que essa limitação existe, como o Notion processa dados de Rollup e quais métodos alternativos você pode usar para obter o mesmo resultado.
Principais Conclusões: Restrição de Encadeamento de Rollup no Notion
- Menu de seleção de propriedade Rollup: Mostra apenas tipos de propriedade padrão (Texto, Número, Seleção, Data, etc.) e propriedades Fórmula — propriedades Rollup são excluídas.
- Relação de banco de dados + Rollup: Um Rollup só pode puxar dados do banco de dados diretamente relacionado ao banco atual, não de uma relação de segundo nível através de outro Rollup.
- Propriedade Fórmula como solução alternativa: Use uma propriedade Fórmula para referenciar um valor Rollup e, em seguida, crie um novo Rollup que tenha como alvo a propriedade Fórmula em vez do Rollup original.
Por que o Notion Impede Rollups de Referenciar Outros Rollups
O Notion armazena propriedades Rollup como valores calculados que são computados dinamicamente quando você visualiza o banco de dados. Diferente de propriedades Texto ou Número, Rollups não contêm dados estáticos. Em vez disso, eles agregam informações de um banco de dados relacionado com base em uma propriedade de relação e uma propriedade alvo. Quando você tenta criar um Rollup que aponta para outro Rollup, o Notion precisaria resolver o primeiro Rollup e depois calcular o segundo Rollup com base nesse resultado. Isso cria uma cadeia de dependência que a arquitetura do Notion não suporta.
A limitação central vem de como o Notion lida com relações de banco de dados. Cada Rollup está vinculado a uma propriedade de relação específica. Se você tem o Banco de Dados A relacionado ao Banco de Dados B, pode criar um Rollup no Banco de Dados A que puxa dados do Banco de Dados B. Mas se o Banco de Dados B tem um Rollup que puxa do Banco de Dados C, você não pode criar um Rollup no Banco de Dados A que referencie esse segundo Rollup. O Notion precisaria percorrer dois saltos de relação e calcular dois Rollups, o que não é permitido.
Prevenção de Dependência Circular
Outro motivo é o risco de dependências circulares. Se o Banco de Dados A tem um Rollup referenciando um Rollup no Banco de Dados B, e o Banco de Dados B tem um Rollup referenciando um Rollup no Banco de Dados A, o sistema entraria em um loop infinito. O Notion impede isso limitando as fontes de Rollup apenas a propriedades que não são Rollup.
Desempenho e Atualização dos Dados
Rollups recalculam cada vez que o banco de dados carrega ou uma propriedade relacionada muda. Encadear Rollups multiplicaria o custo computacional. Para bancos de dados grandes com centenas de linhas, isso poderia causar lentidão perceptível. O design do Notion prioriza a responsividade em vez da agregação aninhada.
Passos para Contornar a Restrição de Encadeamento de Rollup
Você não pode criar diretamente um Rollup que referencie outro Rollup, mas pode usar uma propriedade Fórmula como intermediária. Uma Fórmula pode gerar o valor de um Rollup, e então outro Rollup pode ter como alvo essa Fórmula. Isso alcança o mesmo resultado sem violar as regras do Notion.
Método 1: Usar uma Fórmula como Intermediária
- Identifique o Rollup de origem
Abra o banco de dados que contém o Rollup que você deseja referenciar. Anote o nome exato da propriedade Rollup. Para este exemplo, suponha que o Rollup se chame “Total de Vendas” e puxe a soma de vendas de um banco de dados relacionado. - Adicione uma propriedade Fórmula ao mesmo banco de dados
Clique no ícone + no cabeçalho da última coluna do banco de dados. Selecione Fórmula na lista de tipos de propriedade. Nomeie como “Fórmula Total de Vendas” ou um nome descritivo. - Defina a Fórmula para gerar o valor do Rollup
No editor de Fórmula, digiteprop("Total de Vendas")(substitua “Total de Vendas” pelo nome do seu Rollup). Esta fórmula simplesmente retorna o valor do Rollup como número ou texto. Clique em Concluído. - Crie o segundo Rollup no banco de dados de destino
Vá para o banco de dados onde você deseja o Rollup final. Certifique-se de que ele tenha uma propriedade de relação vinculando ao banco de dados com a Fórmula. Adicione uma nova propriedade Rollup. Na configuração do Rollup, defina a Relação para a relação correta. Para o campo Propriedade, selecione a propriedade Fórmula que você criou (“Fórmula Total de Vendas”) em vez do Rollup original. Escolha a função de agregação (Soma, Contagem, Média, etc.). Clique em Concluído.
Método 2: Simplificar a Estrutura de Dados
- Avalie se um único Rollup pode ser suficiente
Frequentemente, você pode redesenhar seus bancos de dados para evitar a necessidade de um Rollup de um Rollup. Por exemplo, se você deseja somar vendas em dois níveis de categorias, crie uma relação direta do banco de dados de nível mais alto para o banco de dados de nível mais baixo. - Adicione uma propriedade de relação direta
No banco de dados de nível mais alto, adicione uma propriedade Relação que vincule diretamente ao banco de dados de nível mais baixo. Isso pula o banco de dados intermediário completamente. - Crie um Rollup usando a relação direta
Adicione uma propriedade Rollup que use essa nova relação. Selecione a propriedade alvo do banco de dados de nível mais baixo. Aplique a função de agregação. Isso produz o mesmo resultado sem nenhum encadeamento.
Se a Solução Alternativa Ainda Não Funcionar
Propriedade Fórmula Mostra “Inválido” ou Vazio
Se sua propriedade Fórmula retornar um erro, verifique se o nome do Rollup na função prop() corresponde exatamente. Os nomes de propriedades do Notion diferenciam maiúsculas de minúsculas. Verifique também se o Rollup em si está calculando corretamente. Se o Rollup de origem mostrar “Sem dados” ou um erro, a Fórmula herdará esse problema.
Agregação do Rollup Produz Valores Errados
Ao usar a Fórmula intermediária, a função de agregação do Rollup se aplica aos valores da Fórmula. Se a Fórmula gerar texto como “R$100”, uma agregação de Soma falhará porque espera números. Certifique-se de que a Fórmula gere um tipo número. Use toNumber(prop("Rollup")) se necessário.
Propriedade de Relação Não Disponível no Banco de Dados de Destino
Se você não puder criar uma relação direta porque os bancos de dados já estão vinculados por outras relações, considere usar uma visualização de banco de dados vinculada. Crie uma visualização vinculada do banco de dados de origem dentro da página do banco de dados de destino e, em seguida, use Rollup nessa visualização. Esta é uma solução visual que evita o encadeamento de propriedades.
Tipos de Propriedade do Notion Que Podem Ser Usados como Alvo de Rollup vs. Os Que Não Podem
| Tipo de Propriedade | Pode Ser Alvo de um Rollup | Observações |
|---|---|---|
| Texto | Sim | Funciona com Contagem, Mostrar Original, Mostrar Único |
| Número | Sim | Funciona com Soma, Média, Mínimo, Máximo, Contagem, Mostrar Original, Mostrar Único |
| Seleção / Seleção Múltipla | Sim | Funciona com Contagem, Mostrar Original, Mostrar Único |
| Data | Sim | Funciona com Mais Antigo, Mais Recente, Contagem, Mostrar Original, Mostrar Único |
| Caixa de Seleção | Sim | Funciona com Contagem, Mostrar Original, Mostrar Único |
| Fórmula | Sim | Funciona com todas as funções de agregação |
| Rollup | Não | Não pode ser selecionado como propriedade alvo |
| Relação | Não | Rollups exigem uma relação, mas não podem ter como alvo uma propriedade de relação |
| Data de Criação / Última Edição | Sim | Funciona com Mais Antigo, Mais Recente, Contagem, Mostrar Original, Mostrar Único |
| Criado por / Última Edição por | Sim | Funciona com Contagem, Mostrar Original, Mostrar Único |
Esta tabela mostra que Rollup é o único tipo de propriedade calculada que não pode servir como fonte para outro Rollup. Propriedades Fórmula são permitidas porque são recalculadas independentemente e não dependem do contexto de relação de outro Rollup.
Agora você entende por que o Notion bloqueia Rollups de referenciar outros Rollups e tem duas soluções práticas: usar uma Fórmula intermediária ou simplificar a estrutura do banco de dados. Comece adicionando uma propriedade Fórmula ao banco de dados que contém o Rollup original e, em seguida, crie seu segundo Rollup tendo como alvo essa Fórmula. Para modelos de dados complexos, considere redesenhar suas relações para usar uma única relação direta em vez de encadear vários Rollups. Essa abordagem mantém seus bancos de dados rápidos e evita as limitações de propriedades calculadas aninhadas.