Por que a saída da fórmula do Notion difere na dica de ferramenta da visualização Calendário vs página
🔍 WiseChecker

Por que a saída da fórmula do Notion difere na dica de ferramenta da visualização Calendário vs página

Você tem um banco de dados do Notion com uma propriedade de fórmula. Na visualização Calendário, ao passar o mouse sobre um item, a dica de ferramenta mostra um valor diferente do que aparece na página do banco de dados. Essa incompatibilidade pode causar confusão quando você confia na dica de ferramenta para verificações rápidas de dados. A causa raiz é que a dica de ferramenta da visualização Calendário do Notion exibe o resultado da fórmula usando um mecanismo de renderização simplificado que não suporta todas as funções e formatações de fórmula. Este artigo explica por que a discrepância ocorre e fornece um método definitivo para alinhar a saída da dica de ferramenta com o valor da página.

Principais conclusões: Incompatibilidade de fórmula na dica de ferramenta da visualização Calendário

  • Mecanismo de renderização da dica de ferramenta: Usa um subconjunto do interpretador de fórmulas do Notion, fazendo com que funções numéricas, de data e string retornem valores brutos ou truncados.
  • Funções de fórmula afetadas: formatDate, round, concat e instruções condicionais if com lógica complexa geralmente exibem incorretamente na dica de ferramenta.
  • Solução alternativa: Crie uma propriedade Rollup ou Fórmula dedicada: Construa uma fórmula simplificada que corresponda às capacidades da dica de ferramenta, ou use um Rollup de um banco de dados relacionado para contornar a limitação da dica de ferramenta.

ADVERTISEMENT

Por que a dica de ferramenta da visualização Calendário usa um mecanismo de fórmula diferente

A visualização Calendário do Notion é otimizada para desempenho. Quando você passa o mouse sobre um evento, a dica de ferramenta deve carregar instantaneamente a partir de um conjunto de dados em cache ou pré-computado. Para atingir essa velocidade, o Notion usa um interpretador reduzido que pode lidar com consultas básicas de propriedades e cálculos simples, mas não consegue executar a gramática completa da fórmula. Funções como formatDate exigem um formatador com reconhecimento de localidade que o mecanismo da dica de ferramenta não inclui. Como resultado, a dica de ferramenta pode mostrar o número do timestamp bruto em vez da string de data formatada.

Outro fator contribuinte é a forma como o Notion serializa os resultados da fórmula para a dica de ferramenta. Tipos de dados complexos — como arrays, objetos ou strings de várias linhas — são achatados ou truncados. Por exemplo, uma fórmula que retorna uma lista de tags separadas por quebras de linha pode aparecer como uma única linha com vírgulas na dica de ferramenta. A visualização da página, por outro lado, renderiza o resultado completo da fórmula usando o renderizador principal do banco de dados, que respeita toda a formatação e conversões de tipo.

Além disso, o mecanismo da dica de ferramenta não suporta consultas entre bancos de dados ou travessias de relações. Se sua fórmula usa prop("Relacionado").prop("Nome"), a dica de ferramenta mostrará um valor vazio ou um erro. A visualização da página, no entanto, resolve a relação e exibe o valor da propriedade vinculada corretamente. Entender essas limitações técnicas é o primeiro passo para uma correção confiável.

Passos para alinhar a saída da fórmula na dica de ferramenta do Calendário com a visualização da página

O método a seguir cria uma propriedade de fórmula dedicada que produz uma saída que a dica de ferramenta pode exibir corretamente. Esta abordagem não altera a fórmula original, mas adiciona uma propriedade paralela para consumo da dica de ferramenta.

  1. Abra seu banco de dados e identifique a fórmula problemática
    Navegue até o banco de dados que contém a propriedade de fórmula que está mostrando a incompatibilidade. Clique no botão + no cabeçalho da tabela para adicionar uma nova propriedade. Nomeie-a como algo como “Fórmula Segura para Dica de Ferramenta”. Defina o tipo de propriedade como Fórmula.
  2. Simplifique a fórmula original para o mecanismo da dica de ferramenta
    Na nova propriedade de fórmula, escreva uma versão da sua fórmula original que use apenas as seguintes funções suportadas: prop, empty, not, and, or, equal, unequal, larger, largerEq, smaller, smallerEq, add, subtract, multiply, divide, pow, mod, unaryMinus, unaryPlus, concat, join, slice, length, replace, replaceAll, test, if, format e toNumber. Evite formatDate, dateAdd, dateSubtract, dateBetween, timestamp, fromTimestamp, min, max, abs, cbrt, ceil, exp, floor, ln, log2, log10, round, sqrt, sort, reverse, map, filter, every, some, first, last, at, id, name e count. Por exemplo, se sua fórmula original é formatDate(prop("Início"), "DD MMM, YYYY"), substitua por prop("Início") — a dica de ferramenta mostrará a data bruta, mas pelo menos será consistente com a propriedade de data da visualização da página.
  3. Teste a nova fórmula na visualização Calendário
    Mude para a visualização Calendário. Passe o mouse sobre um evento e verifique a dica de ferramenta. Agora ela deve exibir o mesmo valor (ou um equivalente mais simples) que a visualização da página. Se a incompatibilidade persistir, simplifique ainda mais a fórmula removendo quaisquer instruções if com funções aninhadas. Substitua if(prop("Status") == "Concluído", "Completo", "Pendente") por prop("Status").
  4. Oculte a fórmula original da visualização Calendário (opcional)
    Se preferir ver apenas o valor seguro para a dica de ferramenta, clique com o botão direito no cabeçalho da coluna da fórmula original e selecione Ocultar na visualização Calendário. Isso remove a coluna do layout da visualização Calendário, mas a mantém visível em outras visualizações.
  5. Use um Rollup como alternativa para fórmulas entre bancos de dados
    Se sua fórmula depende de uma relação, crie uma propriedade Rollup. No banco de dados relacionado, adicione uma fórmula simples que produza o valor desejado. Em seguida, no banco de dados original, crie uma propriedade Rollup que puxe esse valor. A propriedade Rollup será exibida corretamente tanto na dica de ferramenta quanto na visualização da página, pois os Rollups são pré-computados e armazenados em cache.

ADVERTISEMENT

Se a dica de ferramenta do Calendário ainda mostrar valores errados após a correção

Dica de ferramenta mostra um número de timestamp em vez de uma data formatada

Isso acontece quando a fórmula usa formatDate. O mecanismo da dica de ferramenta não consegue processar funções de formatação de data. Substitua a fórmula por uma referência simples à propriedade de data. Se você precisar de uma string formatada, crie uma propriedade de texto separada e insira manualmente a string de data, ou use um Rollup de um banco de dados que armazene a data como texto.

Dica de ferramenta mostra um valor vazio para uma fórmula baseada em relação

A dica de ferramenta não consegue resolver consultas entre bancos de dados. Crie uma propriedade Rollup que puxe o valor alvo do banco de dados relacionado. Por exemplo, se você deseja mostrar o nome do projeto a partir de um projeto vinculado, adicione um Rollup no banco de dados original que agregue o nome do projeto. O Rollup aparecerá na dica de ferramenta porque é um valor pré-computado.

Dica de ferramenta mostra um número truncado ou incorreto após arredondamento

A função round não é suportada no mecanismo da dica de ferramenta. O número de ponto flutuante bruto aparece. Use format("%.2f", prop("Valor")) apenas se tiver certeza de que o mecanismo da dica de ferramenta suporta format — na prática, não suporta. Em vez disso, multiplique o número por 100, use toNumber para truncar e depois divida por 100. Ou simplesmente aceite o valor não arredondado na dica de ferramenta e confie na visualização da página para o número preciso.

Funções de fórmula suportadas na dica de ferramenta da visualização Calendário vs visualização da página

Categoria de Função Visualização da Página (Suporte Total) Dica de Ferramenta do Calendário (Limitado)
Formatação de data formatDate, dateAdd, dateBetween Nenhum; timestamp bruto exibido
Arredondamento matemático round, ceil, floor, abs Nenhum; float bruto exibido
Concatenação de strings concat, join, replace concat e join funcionam; replace pode falhar
Lógica condicional if com instruções aninhadas if funciona apenas com comparações simples
Consulta entre bancos de dados prop("Relação").prop("Campo") Não suportado; retorna vazio

A tabela acima resume quais funções de fórmula se comportam de forma diferente. Se sua fórmula usar qualquer função das células “Nenhum” da terceira coluna, a dica de ferramenta mostrará um valor bruto ou um resultado vazio. A única solução alternativa confiável é criar uma fórmula simplificada que evite essas funções completamente.

Agora você entende por que a dica de ferramenta da visualização Calendário e a visualização da página exibem saídas de fórmula diferentes. Para corrigir a discrepância, crie uma propriedade de fórmula dedicada que use apenas as funções básicas suportadas pelo mecanismo da dica de ferramenta. Para consultas entre bancos de dados, use uma propriedade Rollup. Como dica avançada, você pode ocultar a propriedade de fórmula original na visualização Calendário e mostrar apenas a propriedade segura para a dica de ferramenta, proporcionando uma interface limpa e consistente sem perder a fórmula original em outras visualizações.

ADVERTISEMENT