Errores comunes con fórmulas

Descubre más sobre los errores comunes que puedes encontrar con las fórmulas en Notion y cómo puedes solucionarlos 🔨
Si no tienes acceso a una base de datos de referencia, las fórmulas no podrán calcularse de forma fiable. Esto se debe a que las fórmulas requieren acceso a la base de datos de origen y sus configuraciones de propiedades.
Cómo solucionarlo
Asegúrate de tener acceso a todas las páginas y bases de datos a las que se hace referencia en tu fórmula dentro de tu botón o automatización de bases de datos.
A diferencia de las propiedades de las fórmulas en las bases de datos, las fórmulas en las automatizaciones esperan un tipo de devolución específico de las fórmulas (por ejemplo: fecha, texto, número, persona). De lo contrario, la automatización no se guardará y ejecutará correctamente.
Cómo solucionarlo
Asegúrate de que la fórmula devuelva el tipo de valor correcto. Por ejemplo, si se escribe una fórmula para establecer el valor de una propiedad Persona de una página, la fórmula debe devolver un usuario o una lista de usuarios, no una fecha. Como alternativa, si evalúas una condición específica en una propiedad de tipo de matriz (por ejemplo, selección múltiple), asegúrate de usar .includes
en lugar de ==
en tu declaración if()
.
Las fórmulas de Notion solo pueden tener 15 capas de profundidad. Cada vez que una fórmula hace referencia a otra fórmula o rollup, agrega una capa. Esto se aplica incluso si la fórmula está en una base de datos diferente.
Cuando se alcance este límite, Notion mostrará un mensaje de error.
Cómo solucionarlo
Para simplificar tu configuración, combina fórmulas y rollups innecesarios en menos propiedades. Busca lugares donde varias fórmulas hagan cosas similares e intenta fusionarlas en una sola.
Si las variables personalizadas se definen dentro de la misma acción de automatización, no pueden hacer referencia entre sí.
Por ejemplo, si define var1
y var2
en la misma acción, var2
no podrá usar var1
en su definición.
Cómo solucionarlo
Define cada variable en su propia acción separada (crea la primera variable, agrega una nueva acción a tu automatización y define la siguiente variable por separado). Esto garantiza que cada variable se reconozca correctamente.
Hoy en día, las variables definidas en una automatización no se pueden usar para filtrar páginas en bases de datos sobre las que desea que actúe la automatización (por ejemplo, "Editar páginas que coinciden con el filtro contiene una variable
").
Cómo solucionarlo
Para definir una variable personalizada como
Esta página
escribePágina de activación
en el cuadro de fórmula.Agrega una acción
Editar páginas en
y selecciona la variable personalizada del paso 1 como tu objetivo.
Al escribir una fórmula en una automatización, es posible que las propiedades de la base de datos no aparezcan automáticamente. Esto no es un error, solo necesitas usar una sintaxis específica.
Cómo solucionarlo
Para hacer referencia a las propiedades de la base de datos desde la página de activación, escribe Página de activación.
(asegúrate de agregar .
al final). Esta acción mostrará todas las opciones de propiedad disponibles.
Cuando se trabaja con relaciones, rollup y propiedades de persona en fórmulas, las fórmulas devuelven una lista de páginas o personas. Para hacer referencia a las propiedades dentro de la relación, deberás definir el primer elemento; de lo contrario, la automatización se pausará. También puedes encontrar este problema al crear una fórmula que use la función map para una propiedad de relación.
Cómo solucionarlo
Usa funciones como .first()
o .at(0)
para obtener el primer elemento, o recorre la lista de páginas con funciones como .map()
, .filter()
, .every()
, .some()
, .find()
.
Cuando las fórmulas se ejecuten en un valor vacío (por ejemplo: Date, Person, etc.), la automatización obtendrá un error y se pausará automáticamente.
Cómo solucionarlo
Usa if
y empty()
para verificar si un valor está presente antes de ejecutar la función Person o Date en él.
Por ejemplo, si tu fórmula se ejecuta en una propiedad de Person llamada "Owner", crea la siguiente declaración if para forzar un valor: if(empty(This page.Person.first()), "No person", This page.Person.first().name())
. Esto garantiza que, incluso si no hubiera propietario, la automatización se ejecutará de forma segura.
Como alternativa, configura una vista que filtre el valor de Date o Person que se está definiendo y aplica su automatización a esa vista.
Si tu fórmula no funciona como esperabas, es posible que se deba a un error de sintaxis, como paréntesis faltantes, operadores incorrectos o funciones no compatibles. Para un desglose completo de la sintaxis de la fórmula, lee este artículo →