Introducción a las fórmulas

Fórmulas - imagen héroe
Contenido de este artículo

En una base de datos de Notion puedes añadir una propiedad de fórmula para ejecutar todo tipo de cálculos y funciones basadas en otras propiedades. Puedes usar fórmulas para manipular los datos existentes y obtener muchos otros valores de gran utilidad 🔮


Las fórmulas de Notion pueden hacer cálculos útiles utilizando las funciones, los complementos integrados y las propiedades de tu base de datos.

Veamos algunas formas de usar las fórmulas. Si ya lo tienes todo listo para empezar a crear tus propias fórmulas, te dejamos las instrucciones necesarias aquí →

Ejemplo 1: Gestión de proyectos

En este ejemplo, usaremos tres fórmulas para hacer un seguimiento del progreso de los proyectos.

Puedes duplicar esta página en tu espacio de trabajo y hacer pruebas con los ajustes de las fórmulas de este ejemplo.

Objetivo

Nombre de la propiedad

Fórmula

Funciones y complementos integrados utilizados

Establecer el plazo de un proyecto en dos semanas desde la fecha de inicio

Plazo

dateAdd(Start Date, 2, "week")

dateAdd() añade tiempo a la fecha. El argumento de la unidad puede ser uno de los siguientes: years (años), quarters (trimestres), months (meses), weeks (semanas), days (días), hours (horas) o minutes (minutos). En este caso, usaremos weeks (semanas).

Marcar un proyecto como atrasado si ya ha pasado el plazo y su estado no es Listo.

Marcar un proyecto como atrasado en negrita y letras rojas si ya ha pasado el plazo y su estado no es Listo.

¿El proyecto está atrasado?

if(and(now() > Due Date, Status != "Done"), "Overdue", "")

if(and(now() > Due Date, Status != "Done"), style("Overdue", "red", "b"), "")

if() genera el primer valor si la condición es cierta; de lo contrario, devuelve el segundo valor. De esa forma, se obtiene un resultado condicional.

and() es un operador lógico que permite evaluar múltiples factores como verdaderos.

now() genera la fecha y la hora actuales para que podamos evaluar dónde nos encontramos en un proyecto con respecto al plazo.

> es un operador de comparación. que permite comparar la condición de que el plazo sea posterior a la fecha actual.

!= es un operador de comparación que permite definir la condición de que el estado no sea igual a Listo.

style() añade estilos y colores al texto. Los estilos de formato válidos son b (negrita), u (subrayado), i (cursiva), c (código) o s (tachado). Los colores válidos son gray (gris), brown (marrón), orange (naranja), yellow (amarillo), green (verde), blue (azul), purple (morado), pink (rosa) y red (rojo). Añade _background a los colores para establecer los colores de fondo. En este caso, usaremosbold (negrita) y red (rojo).

Mostrar el número de tareas atrasadas asociadas a un proyecto

Tareas restantes

length(Tasks.map(current.Status != "Done"))

length() genera la longitud del valor del texto o de una lista para llevar un recuento de las tareas restantes.

map() genera la lista con los resultados de aplicar la expresión a todos los elementos de la lista de entrada. Permite analizar la base de datos de tareas y extrae todas las tareas aplicables.

!= es un operador de comparación que permite extraer tareas cuyo estado actual no sea Listo.

Ejemplo 2: Lluvia de ideas de proyectos

En este ejemplo, usaremos dos fórmulas para hacer una lluvia de ideas de proyectos, calcular una puntuación de prioridad para cada una de ellas y contar el número de votos a favor que recibe cada proyecto.

Puedes duplicar esta página en tu espacio de trabajo y hacer pruebas con los ajustes de las fórmulas de este ejemplo. Para ver otra configuración que utilice el marco RICE, consulta esta plantilla.

Objetivo

Nombre de la propiedad

Fórmula

Usando la puntuación RICE (Reach [Alcance], Impact [Impacto], Confidence [Confianza] y Effort [Esfuerzo]), calcular una puntuación de prioridad.

Puntuación (RICE)

Reach * Impact * Confidence / Effort

Cuando alguien haga clic en el botón de voto a favor, sumar su voto al número total y añadir el nombre del votante a la página de la base de datos.

Total de votos

length(Upvoted by)

(Avanzado) Ejemplo 3: Automatización de la gestión de tareas

En este ejemplo, usaremos algunas fórmulas en una automatización de una base de datos (otro tipo de propiedad de una base de datos) para facilitar la gestión de los proyectos y tareas a medida que se completan. Para ello, marcaremos la tarea principal como Listo cuando todas sus subtareas tengan el estado Listo.

Las automatizaciones de bases de datos tienen disparadores y acciones que se llevan a cabo en función de esos activadores. Las fórmulas te permiten definir variables que luego podrás usar en tus acciones.

Puedes duplicar esta página en tu espacio de trabajo y hacer pruebas con los ajustes de las fórmulas de este ejemplo.

Objetivo

Cómo crearla

Funciones y complementos integrados utilizados

Activar la automatización cada vez que el estado de una tarea cambie a Listo.

Disparador: cuando el estado cambie a Listo.

-

Definir la tarea principal buscando la primera página relacionada con la tarea que activó la automatización.

Acción 1: Definir la variable Parent task (tarea principal)

Fórmula:Trigger page.Parent item.first()

«Trigger page» hace referencia a la página de la base de datos desde la que se activó la automatización y. te permite acceder a las propiedades asociadas con esa página.

«Parent item» genera el contenido de esa propiedad, que en este caso es una lista de páginas relacionadas.

Aplicar la función .first() en la propiedad Parent item devuelve la primera página relacionada de esa lista.

Si la tarea principal tiene subtareas, verificar si todas tienen el estado Listo. Si la tarea principal no tiene subtareas, se mostrará false.

Acción 2: Definir la variable All subtasks done? (¿Todas las tareas están listas?).

Fórmula:Parent Task.Sub-item ? Parent Task.Sub-item.every(current.Status == "Done") : false

El operador ternario X ? Y : Z es una expresión condicional abreviada que significa: si la condición X es verdadera, generar Y; de lo contrario, generar Z. Es una alternativa concisa a una declaración if().

.every() comprueba si una condición es verdadera para cada elemento de una lista. Dentro de esta función, puedes usar la palabra clave current (actual) para referirte a la fila que se está evaluando. En este caso, la condición current.Status == "Done" comprueba si el estado de la página actual es Listo. Si es así, generará el valor true; de lo contrario, dará lugar a false.

Si todas las subtareas son Listo, cambiar el estado de la tarea principal a Listo. De lo contrario, mantener el estado actual de la tarea principal.

Acción 3: Editar la propiedad Status

Fórmula: All subtasks done? ? "Done" : Parent Task.Status

De nuevo, el operador ternario se usa para comprobar si todas las subtareas están listas. Si es así, la automatización cambiará el estado de la tarea principal a Listo; de lo contrario, mantendrá el estado de la tarea principal tal como está.

En Notion, puedes usar las fórmulas de distintas maneras:

Para crear una propiedad de una base de datos para una fórmula:

  1. Haz clic en ••• en la parte superior de una base de datos → Propiedades → Nueva propiedad.

  2. Selecciona Fórmula.

  3. Si quieres, ponle un nombre.

  4. Selecciona Editar fórmula.

Una vez que hayas creado una fórmula en un botón o en una base de datos, podrás desarrollarla y modificarla en el editor de fórmulas. Te lo mostramos en esta imagen:

El campo de la parte superior es donde introduces y editas la fórmula. A medida que escribes tu fórmula en la parte superior del editor, este te indicará si falta alguna parte o cómo debe ser la fórmula para devolverte un valor.

El panel del lado izquierdo muestra los elementos que puedes usar en la fórmula, es decir, las propiedades, los complementos integrados y las funciones disponibles.

El panel del lado derecho muestra una definición de los elementos de la fórmula cuando pasas el cursor sobre ellos en el panel izquierdo. También te da ejemplos de cómo podrías usar esos elementos y de la estructura que deben tener.

Si abres el editor de fórmulas desde una fila de una base de datos, verás una vista previa en vivo del resultado de la fórmula de esa fila.

¿Tienes algún problema con tu fórmula? Descubre más sobre los errores comunes en las fórmulas y cómo solucionarlos en este artículo →

Las fórmulas se pueden crear utilizando una combinación de:

  • Propiedades.

  • Complementos integrados u operadores y booleanos que se utilizan para configurar un cálculo específico. Algunos ejemplos son + (añadir), false (falso) y or (o).

  • Funciones o acciones que la fórmula puede llevar a cabo para generar un resultado específico. Algunos ejemplos son replace (reemplazar), sum (sumar) y sort (ordenar).

Encontrarás una lista completa de los complementos integrados y las funciones disponibles en las fórmulas aquí →


Danos tu opinión

¿Te ha resultado útil este recurso?


Powered by Fruition