Errores comunes en las fórmulas

En este artículo de ayuda

Descubre más sobre los errores comunes que puedes encontrar con las fórmulas en Notion y cómo puedes solucionarlos 🔨


Si no sabes cómo corregir los errores de tu fórmula, la IA de Notion puede ayudarte. Descubre más aquí →

Si no tienes acceso a una base de datos referenciada, 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 fuente y a la configuración 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 fórmula en las bases de datos, las fórmulas en las automatizaciones esperan un tipo de retorno específico (p. ej., fecha, texto, número, persona). De lo contrario, la automatización no podrá guardarse ni ejecutarse 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. Alternativamente, si evalúas una condición específica en una propiedad de tipo matriz (p. ej., selección múltiple), asegúrate de usar .includes en lugar de == en tu instrucción if().

Una causa común de este error es utilizar un tipo diferente para representar un valor vacío. Por ejemplo, en una fórmula como if(Date, Date.dateAdd(1, “day”), “”), el tipo de retorno es desconocido porque podría ser fecha o texto (debido a “”). Esto se puede solucionar utilizando empty() para representar valores vacíos, por lo que la fórmula reparada quedaría como if(Date, Date.dateAdd(1, “day”), empty()).

Las fórmulas de Notion solo pueden tener 15 niveles de profundidad. Cada vez que una fórmula hace referencia a otra fórmula o a un rollup, añade un nivel. 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

Simplifica tu configuración combinando 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 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 su acción independiente (crea la primera variable, añade una nueva acción a la automatización y define la siguiente variable por separado). Esto garantiza 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

  1. Para definir una variable personalizada como Esta página, escribe Página disparadora en el recuadro de la fórmula.

  2. Añade una acción Editar páginas en y selecciona la variable personalizada del paso 1 como objetivo.

Al trabajar con relaciones, rollup y propiedades persona en fórmulas, las fórmulas devuelven una lista de páginas o personas. Para hacer referencia a propiedades dentro de la relación, tendrás que definir el primer elemento; de lo contrario, la automatización se pausará. También puedes encontrar este problema al crear una fórmula que utilice 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() o .find().

Si una fórmula encuentra inesperadamente un valor vacío (más comúnmente un valor de fecha o persona), la automatización recibirá un error y se pausará de forma automática.

Cómo solucionarlo

Utiliza if o ifs para comprobar que una propiedad con la que se está operando tiene un valor. Por ejemplo, en lugar de Date.dateAdd(1, “day”), es preferible utilizar if(Date, Date.dateAdd(1, “day”), empty()). Esto garantiza que dateAdd solo se realice cuando el valor de Date esté presente, e indica explícitamente a la automatización que borre la propiedad que se está actualizando cuando Date no esté relleno. Alternativamente, configura una vista con un filtro que garantice que existe el valor de la propiedad con la que estás operando, y configura la automatización para que solo se ejecute en las páginas de 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 obtener un desglose completo de la sintaxis de las fórmulas, lee este artículo →


Danos tu opinión

¿Te ha resultado útil este recurso?


Powered by Fruition