Corrigir Erro ‘Não é Possível Converter Número em Data’ em Fórmulas do Notion
🔍 WiseChecker

Corrigir Erro ‘Não é Possível Converter Número em Data’ em Fórmulas do Notion

Você vê o erro “Não é possível converter número em data” em uma propriedade de fórmula do Notion e o valor de data esperado não aparece. Esse erro ocorre quando uma fórmula retorna um número, mas o Notion espera um tipo de dado data. As fórmulas do Notion são rigorosas quanto aos tipos de dados e não convertem automaticamente números em datas. Este artigo explica a causa raiz da incompatibilidade de tipos e fornece um método passo a passo para converter um número em um valor de data válido.

No Notion, uma data é um tipo de dado distinto que inclui dia, mês, ano e, opcionalmente, hora e fuso horário. Um número é um tipo de dado separado que armazena valores inteiros ou decimais. Quando você tenta atribuir um número a uma propriedade de data ou retornar um número de uma fórmula configurada para o formato de data, o Notion exibe o erro de conversão. A correção exige que você construa um objeto de data a partir dos componentes numéricos individuais usando a função date() ou ajuste a lógica da fórmula para que a saída seja uma data, não um número.

Este guia aborda o motivo técnico do erro, a sintaxe correta para criar datas a partir de números e como lidar com cenários comuns como timestamps e cálculos com datas. Você também aprenderá a evitar esse erro em fórmulas futuras.

Principais Conclusões: Conversão de Tipos para Fórmulas de Data no Notion

  • Use a função date(): Converte um número ou string em um objeto de data. Exemplo: date(2024, 3, 15) retorna 15 de março de 2024.
  • Conversão de timestamp com fromTimestamp(): Converte um timestamp Unix (número) em uma data. Exemplo: fromTimestamp(1700000000) retorna a data correspondente.
  • Combine dateAdd com dateSubtract: Realize cálculos com datas sem quebrar o tipo data. Exemplo: dateAdd(now(), 7, 'days') retorna uma data, não um número.

ADVERTISEMENT

Por que um Número Não Pode Ser Convertido Automaticamente em Data no Notion

O Notion usa um sistema de tipos estrito para propriedades de fórmula. Cada propriedade de fórmula tem um tipo de saída determinado pelas funções e valores usados na fórmula. Quando você escreve uma fórmula que retorna um número, o tipo da propriedade se torna “Número.” Se você tentar usar essa propriedade em um contexto que espera uma data, como em um filtro de visualização de banco de dados ou uma relação, o Notion mostra o erro “Não é possível converter número em data.” A causa subjacente é que o Notion não realiza conversão automática de tipos entre números e datas. Um número como 20240315 não é interpretado como uma data. Você deve converter explicitamente o número em um objeto de data usando as funções de fórmula corretas.

A Diferença entre os Tipos de Dados Número e Data

Um número no Notion é um valor matemático. Pode ser um inteiro ou um decimal. Uma data é um objeto estruturado que representa um ponto específico no tempo. Uma data pode incluir ano, mês, dia, hora, minuto, segundo e fuso horário. Um número sozinho não carrega nenhum contexto de data. Por exemplo, o número 15 pode ser um dia, um mês ou um ano. O Notion não pode adivinhar sua intenção. Você deve usar a função date() para construir uma data a partir de números individuais de ano, mês e dia, ou usar fromTimestamp() para converter um timestamp Unix (um número que representa segundos desde 1º de janeiro de 1970) em uma data.

Padrões Comuns de Fórmulas que Disparam o Erro

O erro geralmente aparece nestes cenários:

  • Você escreve prop("Data Início") + 7 esperando adicionar 7 dias, mas isso retorna um número, não uma data.
  • Você extrai um número de dia de uma data usando day(prop("Data")) e depois tenta usar esse número em uma fórmula de data.
  • Você usa formatDate(prop("Data"), "YYYYMMDD") que retorna uma string, e depois tenta converter essa string de volta para um número, perdendo o tipo data.
  • Você usa um timestamp Unix como número sem envolvê-lo em fromTimestamp().

Passos para Converter um Número em Data em uma Fórmula do Notion

A correção depende da origem do número. Use o método que corresponde à sua estrutura de dados.

Método 1: Construir uma Data a partir de Números de Ano, Mês e Dia

Se você tem propriedades numéricas separadas para ano, mês e dia, use a função date() para combiná-las.

  1. Crie uma propriedade de fórmula
    No seu banco de dados do Notion, adicione uma nova propriedade de fórmula. Nomeie-a como “Data Convertida.”
  2. Insira a função date()
    No editor de fórmulas, digite: date(prop("Ano"), prop("Mês"), prop("Dia")). Substitua “Ano,” “Mês” e “Dia” pelos nomes exatos de suas propriedades numéricas. Esta função retorna um objeto de data.
  3. Verifique o tipo de saída
    A propriedade de fórmula exibirá um valor de data. Se alguma das propriedades numéricas estiver vazia ou inválida, a fórmula retornará um valor vazio. Certifique-se de que todas as três propriedades contenham números válidos.

Método 2: Converter um Timestamp Unix em Data

Se você tem um timestamp Unix (um número como 1700000000), use fromTimestamp().

  1. Crie uma propriedade de fórmula
    Adicione uma nova propriedade de fórmula chamada “Data do Timestamp.”
  2. Insira a função fromTimestamp()
    Digite: fromTimestamp(prop("Timestamp")). Substitua “Timestamp” pelo nome da sua propriedade numérica. A função interpreta o número como segundos desde 1º de janeiro de 1970 UTC e retorna uma data.
  3. Ajuste o fuso horário se necessário
    O Notion exibe as datas no fuso horário do seu espaço de trabalho. Se o seu timestamp estiver em UTC, a data exibida pode estar com diferença de horas. Use dateAdd() ou dateSubtract() para ajustar o horário.

Método 3: Adicionar Dias a uma Data Sem Quebrar o Tipo

Use dateAdd() em vez de aritmética
Para adicionar um número de dias a uma data existente, use dateAdd(prop("Data Início"), prop("Dias a Adicionar"), 'days'). Isso retorna uma data, não um número. O mesmo se aplica para horas, minutos, meses e anos. Substitua ‘days’ por ‘hours’, ‘minutes’, ‘months’ ou ‘years’ conforme necessário.

ADVERTISEMENT

Se o Notion Ainda Mostrar o Erro de Conversão Após Aplicar a Correção

A Fórmula Retorna um Valor Vazio em Vez de uma Data

Se a propriedade de fórmula não mostrar nenhum valor, verifique se todas as propriedades numéricas referenciadas contêm dados numéricos válidos. A função date() requer inteiros positivos para ano, mês e dia. O mês deve estar entre 1 e 12, e o dia deve ser válido para o mês informado. Se uma propriedade estiver vazia ou contiver texto, a fórmula falhará silenciosamente.

O Valor da Data Aparece como Número na Propriedade de Fórmula

Se a propriedade de fórmula ainda exibir um número em vez de uma data, a fórmula não está retornando um objeto de data. Revise a fórmula para verificar se há alguma operação aritmética que converta a data de volta para um número. Por exemplo, date(prop("Ano"), prop("Mês"), prop("Dia")) + 0 retornará um número. Remova qualquer aritmética no final.

A Conversão de Timestamp Mostra a Data Errada

Se o timestamp estiver em milissegundos em vez de segundos, divida o número por 1000 antes de usar fromTimestamp(). Use: fromTimestamp(prop("Timestamp") / 1000). Isso converte milissegundos em segundos.

Comparação das Funções de Conversão de Data do Notion

Função Tipo de Entrada Tipo de Saída
date(ano, mês, dia) Número (ano, mês, dia) Data
fromTimestamp(número) Número (segundos Unix) Data
dateAdd(data, número, unidade) Data + Número + String Data
dateSubtract(data, número, unidade) Data + Número + String Data
formatDate(data, formato) Data + String String
unixTimestamp(data) Data Número

As funções date() e fromTimestamp() são as principais formas de converter um número em uma data. dateAdd e dateSubtract realizam operações aritméticas em datas preservando o tipo data. formatDate converte uma data em uma string para exibição, mas o resultado não é uma data. unixTimestamp converte uma data de volta para um número, que pode então ser usado em cálculos.

Agora você pode converter números em datas em fórmulas do Notion usando a função date() para entradas de ano-mês-dia ou fromTimestamp() para timestamps Unix. Sempre use dateAdd() ou dateSubtract() para adicionar ou subtrair tempo de uma data para manter a saída como tipo data. Para manipulação avançada de datas, combine essas funções com formatDate() para extrair componentes específicos e depois reconstruir um objeto de data.

ADVERTISEMENT