Funciones contextuales
Función | Operador | Ejemplo | Notas |
respuesta actual a la pregunta | . | .<10.51 | La respuesta debe ser menor a 10.51 |
hoy | today() | today() | Devuelve la fecha de hoy |
ahora | now() | now() | Devuelve una marca de tiempo para este instante |
Funciones matemáticas
NOTA: Debes colocar un espacio entre los operadores matemáticos en tus fórmulas - e.g. {{precio1}}-{{precio3}} no es válido, sino {{precio1}} - {{precio3}}
Función | Operador | Ejemplo | Notas |
suma | + | {{precio1}} + {{precio2}} | |
resta | - | {{precio1}} - {{precio2}} |
|
multiplicación | * | {{precio1}} * {{precio2}} |
|
división | div | {{precio1}} div {{precio2}} |
Debes usar el operador 'div'. Usar '/' no funcionará |
mayor que | > | {{precio}} > 10.51 |
mayor que 10.51 también puede combinarse con igual: >= |
menor que | < | {{precio}} < 10.51 |
menor que 10.51 también puede combinarse con igual: <= |
aproximar | round(valor,potencia) | round({{precio}},3) | Devuelve el valor aproximado, como en Excel |
Funciones de texto
Función | Operador | Ejemplo | Nota |
valores de cadena concatenados | concat(valor1, valor2, ...) | concat({{name}}, 'con id:', {{id_nacional}}) | Devuelve los valores de cadena concatenados. Añade saltos de línea con '\n' - e.g. concat('Hola', '\n', 'Adiós'): Hola Adiós |
extraer una subcadena | substr(valor, inicio) substr(valor, inicio, extensión) |
substr('test', 1, 2) = 'es' | Devuelve la subcadena empezando por el inicio con índice 0 y se extiende hasta el final de la cadena, a menos que se especifique la extensión. |
extensión de la cadena | string-length(valor) | string-length('test')=4 |
Devuelve la extensión de una cadena que no está vacía. |
concatenar valores con un separador | join(separatorString, valor1, valor2, ...) | concat('The answers are:', join(', ', {{pregunta1}}, {{pregunta2}})) | Concatena las respuestas utilizando el primer argumento como un separador. |
Funciones repetibles de grupo
Función | Operador | Ejemplo | Notas |
sumar valores repetidos | sum(nombrerepetido) | sum({{precioprod}}) | Devuelve la suma de los valores de respuesta para todas las repeticiones de una pregunta especifica. |
concatenar respuestas repetidas con un separador | join(separatorString, valorrepetido) | concat('Los productos ordenados son:', join('\n', {{nombreprod}})) |
Devuelve las respuestas repetidas concatenadas, usando el primer argumento como un separador. Para agregar saltos de línea usa '\n'. |
contar repeticiones | count(nombrerepetido) | count({{productos}}) | Devuelve un recuento de los sucesos repetidos en una pregunta/grupo. |
máximo valor de las repeticiones | max(nombrerepetido) | max({{precioprod}}) |
Devuelve el valor de respuesta máximo de todas las repeticiones de una pregunta especificada. |
mínimo valor de las repeticiones | min(nombrerepetido) |
max({{precioprod}}) |
Devuelve el valor de respuesta mínimo de todas las repeticiones de una pregunta especificada. |
Funciones lógicas
Función | Operador | Ejemplo | Notas |
no | not(expresión) | not(selected({{seleccion1}},'c')) | Siempre y cuando 'c' no sea la respuesta seleccionada en una pregunta especifica. |
y | and | selected(., 'c') and selected (., 'd') | Ambas 'c' y 'd' deben estar seleccionadas en la respuesta. |
o | or | selected(., 'c') or selected (., 'd') |
Cualquier 'c' o 'd' debe estar seleccionada en la respuesta. |
verdad | true() | true() | |
falso | false() | false() | |
expresión regular | regex(expresion) | regex(., '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}') |
Esta fórmula comprueba que el correo electrónico sea válido. |
igual a | = | = number('10') | La respuesta debe ser igual a 10. |
condicional | if(condicion, a, b) | if(selected({{pregunta1}}, 'si') and selected({{pregunta2}}, 'si'), 'si', 'no') |
Si es verdad devuelve a, de lo contrario devuelve b. |
primer valor no vacío | coalesce(a, b) | coalesce({{nombre}}, {{id_nacional}}) | Si nombre tiene un valor, devuelve el nombre, de lo contrario devuelve el id_nacional. |
al menos X, como máximo X | checklist(min, max, v1, v2, v3, ..., vn) | checklist(min, max, v1, v2, v3, ..., vn) |
De v1 a vn son un conjunto n de respuesta de sí/no. Devuelve verdadero si la suma de "sí" se encuentra entre los valores máximos y mínimos. Los valores máximo y mínimos pueden ser cada uno -1 para indicar "no aplica" ("not applicable"). |
Funciones de conversión de datos
Función | Operador | Ejemplo | Notas |
convertir a número | number (marcador de posición o número fijo) | number({{edad}}) | La conversión varía en función de X. |
convertir a cadena | string (marcador de posición o número fijo) |
string({{edad}}) |
La conversión varía en función de X. |
convertir a fecha | date (marcador de posición o número fijo) |
date({{edad}}) |
La conversión varía en función de X. El formato es yyyy-mm-dd |
booleano de cadena | boolean-from-string(marcador de posición o número fijo) |
boolean({{superior30}}) | Devuelve verdadero si x es "verdadero" o "1", de lo contrario devuelve falso. Ten en cuenta que se comporta diferente que boolean(x). |
fecha de formato como cadena | format-date(marcador de posición, formato) |
format-date(today(), 'yyyy-MMM-dd') |
Devuelve el valor del campo en el formato definido en la fórmula. El argumento de formato debe ser un formato de cadena válido. Las especificaciones de formato más usadas, incluyen: yy - año (2 dígitos) yyyy - año (4 dígitos) MM - mes (2 dígitos) MMM - mes (abreviado en 3 caracteres) dd - día (2 dígitos) |
Funciones de opciones
Función | Operador | Ejemplo | Notas |
selección | selected(marcador de posición, valor) | selected({{pregunta}}, 'n') | Comprueba si se ha seleccionado una respuesta en preguntas de opciones. |
sumar selecciones | count-selected(marcadores de posición multiple) |
count-selected({{respuestamultiple}}) |
Devuelve el número de respuestas seleccionadas. |