Errores comunes en las 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 manera fiable, ya que necesitan acceso a la base de datos de origen y a los ajustes de sus propiedades.
Cómo solucionarlo
Necesitarás acceso a todas las páginas y bases de datos que se incluyen en la fórmula del botón o la automatización de la base de datos.
A diferencia de las propiedades de las fórmulas en las bases de datos, con las fórmulas en las automatizaciones se espera un resultado específico (por ejemplo: una fecha, un texto, un número o una persona). De lo contrario, la automatización no se guardará ni se ejecutará correctamente.
Cómo solucionarlo
Asegúrate de que la fórmula devuelva el tipo de valor correcto. Por ejemplo, si escribes 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 «array» (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, se añade una capa, 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 la configuración, combina fórmulas y rollups innecesarios en menos propiedades. Busca lugares donde varias fórmulas cumplan tareas 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 unas a otras.
Por ejemplo, si defines var1
y var2
en la misma acción, var2
no podrá usar var1
en su definición.
Cómo solucionarlo
Define cada variable en una acción independiente (crea la primera variable, añade una nueva acción a la automatización y define la siguiente variable por separado). Así te asegurarás de que cada variable se reconozca correctamente.
Actualmente, las variables definidas en una automatización no se pueden usar para filtrar páginas en bases de datos sobre las que quieras que actúe la automatización (por ejemplo, «Editar páginas que coinciden con el filtro Contiene la variable
»).
Cómo solucionarlo
Para definir una variable personalizada como
Esta página
, escribePágina disparadora
en el recuadro de la fórmula.Añade una acción
Editar páginas en
y selecciona la variable personalizada del paso 1 como objetivo.
Al escribir una fórmula en una automatización, es posible que las propiedades de la base de datos no aparezcan automáticamente. No se trata de un error: simplemente tienes que usar una sintaxis específica.
Cómo solucionarlo
Para hacer referencia a las propiedades de una base de datos desde la página disparadora, escribe Página disparadora.
(no olvides añadir el punto final
). Así se mostrarán todas las opciones de propiedades disponibles.
Cuando estés trabajando con relaciones, rollups y propiedades de persona en fórmulas, las fórmulas devolverán 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 esta incidencia al crear una fórmula que use la función de mapa 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()
o .find()
.
Cuando las fórmulas se ejecuten en un valor vacío (por ejemplo: Fecha, Persona, etc.), la automatización dará 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 Persona o Fecha en él.
Por ejemplo, si tu fórmula se ejecuta en una propiedad de Persona llamada "Propietario", crea la siguiente declaración if para forzar un valor: if(empty(This page.Person.first()), "No person", This page.Person.first().name())
. Así te asegurarás de que la automatización se ejecute de forma segura aunque no haya ningún propietario.
También puedes configurar una vista que filtre el valor de Fecha o Persona que se está definiendo y aplicar 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 la falta de algún paréntesis, operadores incorrectos o funciones no compatibles. Para consultar un desglose completo de la sintaxis de la fórmula, lee este artículo →