Error “type mismatch” en fórmulas de notion: cómo resolverlo
🔍 WiseChecker

Error “type mismatch” en fórmulas de notion: cómo resolverlo

Cuando escribes una fórmula en una base de datos de Notion, es posible que veas el error “Type Mismatch”. Esto ocurre porque las fórmulas de Notion requieren que todos los valores de una operación sean del mismo tipo de dato. Por ejemplo, no puedes sumar texto a un número ni comparar una fecha con una cadena de texto. Este artículo explica por qué se produce el error de tipo no coincidente en las fórmulas de Notion y ofrece pasos claros para solucionarlo. Aprenderás a identificar los tipos que no coinciden y a usar funciones de conversión como format(), toNumber() y dateAdd() para que tus fórmulas funcionen correctamente.

Puntos clave: cómo solucionar el error “Type Mismatch” en fórmulas de Notion

  • format() function: Convierte un número, una fecha o un booleano en una cadena de texto para que puedas concatenarlo con otro texto.
  • toNumber() function: Convierte una cadena de texto que parece un número en un número real para realizar operaciones aritméticas.
  • dateAdd() and dateSubtract() functions: Funcionan solo con propiedades de fecha y devuelven una fecha, lo que evita el error de tipo no coincidente al calcular fechas futuras o pasadas.

ADVERTISEMENT

Por qué se produce el error “Type Mismatch” en las fórmulas de Notion

Las fórmulas de Notion usan un sistema de tipos estricto. Cada valor de una fórmula pertenece a uno de estos tipos: string (texto), number (número), date (fecha), boolean (verdadero/falso) o array (lista). Cuando combinas dos valores con un operador o una función, ambos deben ser del mismo tipo. Si intentas sumar un número a una cadena de texto, Notion genera un error “Type Mismatch” porque la operación no está definida.

La causa raíz casi siempre es una propiedad que devuelve un tipo que no esperabas. Por ejemplo, una propiedad Rollup puede devolver un número, pero tú la tratas como texto. O una propiedad Formula que genera una fecha no se puede comparar directamente con una cadena de texto. Notion no convierte los tipos automáticamente en las fórmulas. Debes usar funciones de conversión explícitas para cambiar un tipo por otro.

Escenarios comunes de tipo no coincidente

Las discrepancias más frecuentes incluyen: sumar un número a un texto con el operador +, comparar una fecha con una cadena de texto con > o <, y pasar una cadena de texto a una función que espera un número, como round(). Otro caso común es usar una instrucción if() en la que las ramas verdadera y falsa devuelven tipos diferentes. Por ejemplo, if(prop(“Status”) == “Done”, “Complete”, 0) falla porque la primera rama devuelve texto y la segunda devuelve un número.

Pasos para identificar y corregir un error de tipo no coincidente

Sigue estos pasos para localizar los tipos que no coinciden y corregir la fórmula. Tendrás que inspeccionar cada propiedad y usar la función de conversión adecuada.

  1. Abre el editor de fórmulas
    En tu base de datos de Notion, haz clic en el encabezado de la columna de la propiedad Formula que muestra el error. Luego haz clic en “Edit formula” en el menú desplegable. Se abre el editor de fórmulas con la fórmula actual.
  2. Identifica el tipo de dato de cada propiedad utilizada
    Pasa el cursor sobre cada nombre de propiedad de la fórmula. Notion muestra una información sobre herramientas que incluye el tipo de propiedad: Text, Number, Date, Checkbox (boolean) o Rollup. Anota el tipo de cada propiedad. Por ejemplo, una propiedad llamada “Quantity” podría ser Number, mientras que “Product Code” podría ser Text.
  3. Revisa el operador o la función que causa el error
    Observa la línea donde aparece el error. El mensaje de error suele resaltar la posición exacta. Si usas + entre un número y un texto, esa es la discrepancia. Si usas dateAdd() con un valor de texto en lugar de una fecha, esa es la discrepancia. El operador o la función determina qué tipos están permitidos.
  4. Aplica la función de conversión correcta
    Usa una de estas funciones para cambiar el tipo de un valor:

    – format(prop(“PropertyName”)) — convierte un número, una fecha o un booleano en texto. Úsala cuando necesites concatenar un número con texto.
    – toNumber(prop(“PropertyName”)) — convierte una cadena de texto que contiene dígitos en un número. Úsala cuando necesites realizar operaciones aritméticas con una propiedad de texto.
    – date(prop(“PropertyName”)) — convierte una cadena de texto con un formato de fecha reconocido en una fecha. Úsala cuando compares fechas almacenadas como texto.
    – if() con tipos de retorno coherentes — asegúrate de que ambas ramas de una instrucción if() devuelvan el mismo tipo. Por ejemplo, if(prop(“Status”) == “Done”, “Complete”, “Incomplete”) devuelve texto en ambos casos.

  5. Prueba la fórmula con datos de ejemplo
    Después de hacer el cambio, haz clic en “Save” en el editor de fórmulas. Agrega algunas filas con valores de propiedad diferentes para verificar que la fórmula funciona en todos los casos. Comprueba que la salida muestra el tipo y el valor esperados. Si el error persiste, repite los pasos 2 a 4.

ADVERTISEMENT

Problemas comunes después de corregir el tipo no coincidente

La fórmula devuelve un valor en blanco o vacío después de la conversión

Esto suele ocurrir cuando toNumber() recibe una cadena de texto que no es un número válido. Por ejemplo, “ABC” no se puede convertir en un número. Para evitarlo, usa if() para comprobar el contenido antes de la conversión: if(prop(“Code”) != “” and toNumber(prop(“Code”)) != 0, toNumber(prop(“Code”)), 0). Esto devuelve 0 para texto no válido.

La comparación de fechas sigue fallando después de usar date()

La función date() solo funciona con cadenas de texto que coinciden con un formato específico, como “2024-01-15” o “Jan 15, 2024”. Si tu texto usa un formato diferente, date() devuelve un valor vacío. En ese caso, usa parseDate() con la cadena de formato correcta. Por ejemplo, parseDate(prop(“Date Text”), “MM/DD/YYYY”) convierte una cadena de texto en formato mes/día/año en una fecha.

La propiedad Rollup devuelve un tipo inesperado

Un Rollup puede devolver un valor único o un array según la agregación del rollup. Si usas un Rollup que devuelve un array en una operación que espera un único número, obtienes un error de tipo no coincidente. Para solucionarlo, cambia la agregación del rollup a “Show original” o usa la función first() para extraer el primer elemento: first(prop(“Rollup Property”)).

Comparación de funciones de fórmulas de Notion para la conversión de tipos

Function Input Type Output Type
format() Number, Date, Boolean, or Array Text (string)
toNumber() Text (string) Number
date() Text (string in standard format) Date
parseDate() Text (string with custom format) Date
first() Array Any type (first element)

Usa format() para convertir números o fechas en texto para concatenación. Usa toNumber() para convertir dígitos de texto en números para operaciones matemáticas. Usa date() o parseDate() para convertir texto en fechas para operaciones aritméticas con fechas. Usa first() para extraer un único valor de un array de rollup.

Ahora ya puedes identificar y resolver cualquier error “Type Mismatch” en tus fórmulas de Notion. Empieza comprobando el tipo de dato de cada propiedad y aplicando la función de conversión correcta. Para fórmulas complejas, prueba cada parte por separado usando una propiedad de fórmula temporal. Como consejo avanzado, usa la función empty() para gestionar los valores faltantes antes de la conversión: if(empty(prop(“Quantity”)), 0, toNumber(prop(“Quantity”))). Esto evita errores de conversión cuando una propiedad está en blanco.

ADVERTISEMENT