Notion: Fórmula não pode usar propriedade Pessoa — Solução
🔍 WiseChecker

Notion: Fórmula não pode usar propriedade Pessoa — Solução

Você tem um banco de dados do Notion com uma coluna Pessoa e quer referenciar essa pessoa em uma fórmula. No entanto, ao escrever uma fórmula que tenta ler a propriedade Pessoa, o Notion retorna um erro ou resultado vazio. Isso acontece porque as fórmulas do Notion não podem acessar diretamente as propriedades Pessoa, Criado por, Última edição por ou Data criadas por esses campos de usuário. Este artigo explica a limitação técnica exata e fornece uma solução confiável usando uma propriedade Select e um banco de dados vinculado.

Principais conclusões: Propriedade Pessoa do Notion em fórmulas

  • Propriedade Pessoa em fórmula causa erro: As fórmulas do Notion não podem ler campos Pessoa, Criado por ou Última edição por diretamente
  • Solução usando uma propriedade Select: Crie uma propriedade Select com os mesmos nomes de pessoas e referencie-a na fórmula
  • Banco de dados vinculado para automação: Use uma visualização de banco de dados vinculado com uma propriedade Rollup para evitar atualizações manuais

Por que as fórmulas do Notion não podem ler propriedades Pessoa

As fórmulas do Notion operam em um conjunto restrito de tipos de propriedade. O editor de fórmulas só suporta propriedades dos tipos Texto, Número, Data, Caixa de seleção, Select, Multi-Select, Relação, Rollup, Fórmula e Arquivo e Mídia. As propriedades Pessoa, Criado por, Última edição por, Data de criação e Data da última edição são intencionalmente excluídas da entrada de fórmulas.

Essa limitação existe porque as propriedades Pessoa estão vinculadas a contas de usuário e à associação ao espaço de trabalho. As fórmulas do Notion são avaliadas em cada linha do banco de dados de forma independente, e o mecanismo de fórmula não tem acesso ao diretório de usuários do espaço de trabalho. A fórmula não consegue resolver um ID de usuário para um nome ou endereço de e-mail, então ela falha silenciosamente ou retorna uma string vazia.

O que acontece quando você tenta

Se você digitar prop("Atribuído a") em uma fórmula onde Atribuído a é uma propriedade Pessoa, o editor de fórmulas não autocompletará o nome da propriedade. Se você forçar a referência, a fórmula mostrará uma borda vermelha de erro e não retornará valor. A fórmula não será salva até que você remova a referência à propriedade Pessoa.

Propriedades que as fórmulas podem ler

As fórmulas podem ler estes tipos de propriedade: Texto, Número, Data (mas não Data de criação ou Data da última edição), Caixa de seleção, Select, Multi-Select, Relação, Rollup, Fórmula, URL, E-mail, Telefone e Arquivo e Mídia. Se você precisar usar o nome de uma pessoa em uma fórmula, primeiro deve converter os dados da Pessoa em um tipo compatível.

Solução: Use uma propriedade Select com nomes de pessoas

A solução mais simples é adicionar uma propriedade Select que contenha os mesmos nomes de pessoas da propriedade Pessoa. Em seguida, você referencia a propriedade Select em sua fórmula em vez da propriedade Pessoa. Esse método requer manutenção manual quando os membros da equipe mudam.

  1. Crie uma propriedade Select
    No seu banco de dados, clique no ícone + no canto superior direito do cabeçalho da tabela. Escolha Select na lista de tipos de propriedade. Nomeie algo como Nome do Responsável.
  2. Adicione os nomes das pessoas como opções do Select
    Clique em qualquer célula da nova coluna Select. Digite o nome completo de cada pessoa que aparece na propriedade Pessoa. Pressione Enter após cada nome. Adicione todos os nomes que sua fórmula precisa verificar.
  3. Preencha a propriedade Select para cada linha
    Para cada linha existente, selecione manualmente o nome correto no menu suspenso. Esta etapa é tediosa para bancos de dados grandes, mas é necessária porque as fórmulas não podem ler a propriedade Pessoa diretamente.
  4. Escreva sua fórmula usando a propriedade Select
    Abra o editor de propriedades de fórmula. Use prop("Nome do Responsável") em sua fórmula. Por exemplo, para retornar uma prioridade com base no responsável: if(prop("Nome do Responsável") == "Alice", "Alta", "Normal").
  5. Teste a fórmula
    Clique em Concluído no editor de fórmulas. A fórmula agora deve ser avaliada corretamente em cada linha. Se você vir um erro, verifique se o nome da propriedade Select corresponde exatamente e se o texto da opção corresponde ao nome da pessoa.

Solução automatizada usando um banco de dados vinculado e Rollup

Se você tem muitas linhas ou mudanças frequentes de pessoal, uma propriedade Select manual se torna impraticável. Você pode automatizar o processo criando um banco de dados separado que mapeia nomes de pessoas para um valor Select, depois usar uma Relação e um Rollup para trazer esse valor para sua fórmula.

  1. Crie um banco de dados de mapeamento de pessoas
    Crie um novo banco de dados na mesma página. Adicione uma propriedade Título e uma propriedade Pessoa. Na coluna Título, insira o nome de cada pessoa exatamente como aparece no campo Pessoa do seu banco de dados principal. Na coluna Pessoa, selecione a mesma pessoa na lista de membros do espaço de trabalho.
  2. Adicione uma propriedade Select ao banco de mapeamento
    Adicione uma propriedade Select chamada Nome para Fórmula. Para cada pessoa, crie uma opção Select com o mesmo texto do Título. Selecione essa opção na linha.
  3. Crie uma Relação no banco de dados principal
    No seu banco de dados principal, adicione uma propriedade Relação que vincule ao banco de dados de Mapeamento de Pessoas. Nomeie como Mapa Pessoa.
  4. Preencha a Relação para cada linha
    Para cada linha, abra a célula Mapa Pessoa e vincule à linha correspondente no banco de mapeamento. Esta etapa pode ser parcialmente automatizada com um botão ou usando uma fórmula que leia a propriedade Pessoa — mas essa fórmula não pode existir no banco de dados principal. Em vez disso, use uma abordagem manual ou baseada em script para a configuração inicial.
  5. Adicione uma propriedade Rollup ao banco de dados principal
    Adicione uma propriedade Rollup chamada Nome da Fórmula. Defina a Relação como Mapa Pessoa. Defina a Propriedade como Nome para Fórmula. Defina o Cálculo como Mostrar original (não qualquer função de agregação).
  6. Use o Rollup em sua fórmula
    Agora sua fórmula pode referenciar prop("Nome da Fórmula") e obter o nome da pessoa como um valor de texto. Escreva sua lógica de fórmula usando esta propriedade Rollup.

Problemas comuns com a solução

Opções Select não correspondem exatamente aos nomes das pessoas

As fórmulas do Notion diferenciam maiúsculas de minúsculas. Se a opção Select disser “Alice” mas a propriedade Pessoa exibir “alice”, sua fórmula não corresponderá. Sempre copie o nome exato da coluna Pessoa ao criar opções Select.

Nomes de pessoas mudam ou novos membros entram na equipe

Quando uma nova pessoa é adicionada ao espaço de trabalho, você deve adicioná-la às opções da propriedade Select e atualizar todas as linhas onde ela é atribuída. A solução do banco de dados vinculado reduz esse esforço porque você só atualiza o banco de mapeamento, e o Rollup é atualizado automaticamente.

Rollup retorna múltiplos valores

Se uma Relação vincular a várias linhas no banco de mapeamento, o Rollup retornará um array de valores. As fórmulas não podem lidar com arrays. Certifique-se de que cada linha no banco de dados principal vincule a apenas uma linha de mapeamento. Use uma Relação de seleção única ou force a vinculação um-para-um.

Comparação de suporte de propriedades em fórmulas do Notion

Tipo de Propriedade Pode ser usada em Fórmula Solução Necessária
Texto Sim Não
Número Sim Não
Data Sim (exceto Data de criação) Não
Caixa de seleção Sim Não
Select Sim Não
Multi-Select Sim Não
Relação Sim Não
Rollup Sim Não
Pessoa Não Sim — use Select ou Rollup
Criado por Não Sim — use Select ou Rollup
Última edição por Não Sim — use Select ou Rollup

Agora você pode referenciar dados de pessoas em suas fórmulas do Notion usando uma propriedade Select ou um banco de dados vinculado com um Rollup. O método manual Select é rápido para bancos de dados pequenos com equipes estáveis. O método do banco de dados vinculado funciona melhor para bancos de dados maiores ou equipes que mudam com frequência. Como próximo passo, considere usar a abordagem Rollup e adicionar um botão para vincular automaticamente novas linhas usando um modelo ou ferramenta de automação como a API do Notion ou Zapier.