Creación de expresiones
Acerca de la creación de expresiones
Puede crear expresiones para filtro y transformar los datos entrantes.
Una expresión puede contener constantes, campos, funciones y operadores.
Constantes
Puede utilizar números constantes, cadenas de texto y fechas para realizar operaciones aritméticas y de comparación con y como argumentos en las funciones.
Notas sobre la utilización de constantes:
- Las cadenas de texto se tratan como que distinguen entre mayúsculas y minúsculas. Utilice las funciones SUPERIOR o INFERIOR como solución alternativa para distinguir mayúsculas y minúsculas.
- Las cadenas de texto y las fechas deben estar entre comillas.
- Los números no necesitan comillas (un número entre comillas se trata como texto).
Campos
Puede utilizar campos numéricos, de texto y de fecha disponibles a través del conector para realizar operaciones aritméticas y de comparación con, y como argumentos en las funciones.
Para añadir un campo, arrástrelo desde la sección Campos al cuadro Expresión.
Los tipos de campo se etiquetan con los siguientes iconos:
Funciones
Puede utilizar funciones numéricas, de texto y de fecha enumeradas en esta sección.
Para agregar una función, arrástrela desde la sección Funciones al cuadro Expresión.
Los tipos de función se etiquetan con los siguientes iconos:
ABS
Devuelve el valor absoluto de un número.
Sintaxis: ABS(número)
COALESCE
Devuelve el primer valor no nulo de una lista.
Sintaxis: COALESCE(value1, value2, value3)
CEILING
Devuelve el valor redondeado por exceso de un número.
Sintaxis: CEILING(número)
CONCAT
Combina varias cadenas de texto en una sola.
Sintaxis: CONCAT(“cadena 1”, “cadena 2”, “cadena 3”)
CONTIENE
Devuelve verdadero si una cadena de texto (“dentro del texto”) contiene otra cadena de texto (“buscar texto”). De lo contrario, devuelve false.
Sintaxis: CONTAINS(“inside text”, “find text”)
CONVERT_TO_TIMEZONE
Convierte la fecha y la hora de un huso horario a otro.
Sintaxis: CONVERT_TO_TIMEZONE(“fecha y hora”, “huso horario a convertir de”, “huso horario a convertir a”)
Notas sobre el formato de fecha:
- Proporcione los husos horarios utilizando sus nombres de base de datos tz.
- Indique la fecha y hora en ISO 8601 o como aaaa-mm-dd hh:mm:ss.
- Si la fecha y la hora se proporcionan con información de huso horario, se ignora en favor del parámetro “huso horario a partir del cual convertir”.
- La fecha convertida utiliza el formato ISO 8601. Utilice la función TODATE si necesita modificarla.
DATETONUMBER
Convierte un campo de fecha en un cronomarcador Unix.
Sintaxis: DATETONUMBER(“date”)
DATETOTEXT
Convierte un campo de fecha en una cadena de fecha en el formato solicitado.
Sintaxis: DATETOTEXT(“date”, “date format”)
DAYOFWEEK
Devuelve el día de la semana correspondiente a una fecha.
Sintaxis: DAYOFWEEK(“date”)
DYNAMICLOOKUP
Sustituye los valores del campo utilizando una tabla de consulta cargada dinámicamente. Los valores de búsqueda se toman del campo especificado en el primer argumento (“nombre de campo”).
Sintaxis: DYNAMICLOOKUP(“nombre de campo”, “valor”)
ELEMENTOFARRAY
Extraiga el valor enésimo de una matriz y, a continuación, asigne los valores de matriz a los atributos en XM Discover.
Sintaxis: ELEMENTOFARRAY([“array element 1”, “array element 2”, “array element 3”], number)
Notas:
- Si la entrada no es una matriz, la función genera un error.
- Si el número es mayor que el tamaño de una matriz, la función devuelve un valor nulo. Los números en orden ascendente empiezan por 0.
CAMPO
Agrupa los nombres de campo que contienen espacios o puntos.
Sintaxis: FIELD(“nombre de campo”)
ENCUENTRE
Localiza una cadena de texto (“buscar texto”) dentro de otra cadena de texto (“dentro del texto”) y devuelve el número de la posición inicial de “buscar texto” a partir del primer carácter de “dentro del texto” (empezando por 1).
Permite especificar el orden del carácter en “dentro del texto” en el que iniciar la búsqueda (empezando por 1). Si omite order_number, se supone que es 1.
Devuelve -1 si “buscar texto” no se encuentra en “dentro de texto”.
Sintaxis: FIND(“find text”, “within text”, order_number)
FINDFIRST
Localiza la primera ocurrencia de una cadena de texto (“buscar texto”) dentro de otra cadena de texto (“dentro del texto”) y devuelve el número de la posición inicial de “buscar texto” desde el primer carácter de “dentro del texto” (empezando por 1).
Sintaxis: FINDFIRST(“inside text”, “find text”)
FINDLAST
Localiza la última ocurrencia de una cadena de texto (“buscar texto”) dentro de otra cadena de texto (“dentro del texto”) y devuelve el número de la posición inicial de “buscar texto” desde el primer carácter de “dentro del texto” (empezando por 1).
Sintaxis: FINDLAST(“inside text”, “find text”)
PLANTA
Devuelve el valor redondeado hacia abajo de un número.
Sintaxis: FLOOR(number)
GENERATE_ID
Genera un ID unívoco. Esta función no requiere parámetros adicionales.
Sintaxis: GENERATE_ID()
GETDAYSBETWEEN
Devuelve el número de días entre dos fechas.
Sintaxis: GETDAYSBETWEEN(“fecha de inicio”, “fecha de fin”)
GETHOURSBETWEEN
Devuelve el número de horas entre dos fechas.
Sintaxis: GETHOURSBETWEEN(“fecha de inicio”, “fecha de fin”)
GETMINUTESBETWEEN
Devuelve el número de minutos entre dos fechas.
Sintaxis: GETMINUTESBETWEEN(“fecha de inicio”, “fecha de fin”)
Si
Devuelve un valor si el enunciado es verdadero y otro valor si el enunciado es falso.
Sintaxis: IF(sentencia, “value if true”, “value if false”)
ISBLANK
Devuelve VERDADERO cuando un campo está vacío y FALSO cuando un campo no está vacío.
Sintaxis: ISBLANK(“nombre de campo”)
LEN
Devuelve el número de letras de una cadena de texto.
Sintaxis: LEN(“texto”)
MÁS INFERIOR
Convierte el texto en minúsculas.
Sintaxis: LOWER(“text”)
MD5HASH
Aplica hash MD5 a los datos de entrada para generar ID únicos basados en esos datos.
Sintaxis: MD5HASH(“texto”)
IDM
Devuelve un número específico de caracteres de una cadena de texto, empezando por la posición que especifique.
La posición (order_number) empieza por 1.
Sintaxis: MID(“text”, order_number, Characters_number)
MOD
Devuelve el resto cuando un número se divide por un divisor.
Sintaxis: MOD(número, divisor)
AHORA
Devuelve la fecha y hora actuales. Esta función no requiere parámetros adicionales.
Sintaxis: NOW()
NUMBERTODATE
Convierte un cronomarcador Unix en un campo de fecha. El cronomarcador Unix es el número de milisegundos que han transcurrido desde el 1 de enero de 1970.
Sintaxis: NUMBERTODATE(número)
NUMBERTOTEXT
Convierte un número en texto.
Sintaxis: NUMBERTOTEXT(número)
POW
Devuelve el resultado de x a la potencia de y.
Sintaxis: POW(x, y)
PROPERCASE
Inicia la primera letra de una cadena de texto.
Sintaxis: PROPERCASE(“text”)
Ejemplo: PROPERCASE(“la práctica hace perfecto”) resuelve a Practicar hace que sea perfecto.
RANDOM
Devuelve un número real aleatorio entre 0 y 1. Esta función no requiere parámetros adicionales.
Sintaxis: RANDOM()
RANDOMBETWEEN
Devuelve un número entero aleatorio entre dos números.
Sintaxis: RANDOMBETWEEN(número mínimo, número máximo)
REMOVEHTMLTAGS
Elimina etiquetas HTML de una cadena de texto.
Sintaxis: REMOVEHTMLTAGS(“texto”)
REEMPLAZAR
Reemplaza parte de una cadena de texto (“texto antiguo”) por una cadena de texto diferente (“texto nuevo”) un número determinado de veces (number_of_replacements) basado en el número de ocurrencia de “texto antiguo” dentro de “text” (número_ocurrencia).
Sintaxis: REPLACE(“texto”, “texto antiguo”, “texto nuevo”, número_ocurrencia, sensibilidad_caso, número_de_sustituciones)
REPLACEBYINDEX
Sustituye parte de una cadena de texto (“texto antiguo”) por una cadena de texto diferente (“texto nuevo”), según el número de caracteres que especifique.
La posición (order_number) empieza por 1.
Sintaxis: REPLACE(“old text”, order_number, Characters_number, “new text”)
REPLACEBYREGEXP
Sustituye los valores de texto mediante expresiones regulares.
Sintaxis: REPLACEBYREGEXP(“texto”, “expresión regular para coincidencia de patrones”, “expresión regular para valor de sustitución”)
REDONDA
Devuelve el valor de un número redondeado al entero más cercano.
Sintaxis: ROUND(número)
BUSCAR
Localiza una cadena de texto (“buscar texto”) dentro de otra cadena de texto (“dentro del texto”) y devuelve el número de la posición inicial de “buscar texto” a partir del primer carácter de “dentro del texto” (empezando por 1).
Permite especificar el orden del carácter en “dentro del texto” en el que iniciar la búsqueda (empezando por 1). Si omite order_number, se supone que es 1.
Devuelve -1 si “buscar texto” no se encuentra en “dentro de texto”.
Sintaxis: SEARCH(“find text”, “within text”, order_number)
SUSTITUIR
Sustituye “texto antiguo” por “texto nuevo” en una cadena de texto.
Permite especificar qué ocurrencia de “texto antiguo” desea sustituir. Si especifica número de ocurrencia, solo se sustituirá la instancia de “texto antiguo”. De lo contrario, cada ocurrencia de “texto antiguo” en el texto se cambia a “texto nuevo”.
Sintaxis: SUBSTITUTE(“texto”, “texto antiguo”, “texto nuevo”, número_ocurrencia)
SUBSTR
Devuelve una porción de una cadena de texto que comienza a partir del primer carácter de la cadena y hasta el número especificado de caracteres (empezando por 1).
Sintaxis: SUBSTR(“text”, order_number)
TITLECASE
Inicia la primera letra de cada palabra en una cadena de texto.
Sintaxis: TITLECASE(“texto”)
TEXTTODATE
Convierte una cadena de fecha en un campo de fecha con el siguiente formato: AAAA-MM-DDThh:mm:ssZ.
Sintaxis: TEXTTODATE(“date”, “date format”)
TEXTTONUMBER
Convierte texto en número.
Sintaxis: TEXTTONUMBER(texto)
TRADUCCIÓN
Traduce los datos de entrada.
Sintaxis: TRANSLATE (“código de idioma fuente”, “código de idioma de destino”, “texto”).
Notas:
- Esta función solo está disponible para cuentas con credenciales de API de Google Translate
- Para obtener una lista completa de los códigos de idioma admitidos, consulte la documentación de traducción de Google Cloud.
TRIMLEFT
Elimina espacios del extremo izquierdo de una cadena de texto.
Sintaxis: TRIMLEFT(“texto”)
TRIMRIGHT
Elimina espacios del extremo derecho de una cadena de texto.
Sintaxis: TRIMRIGHT(“text”)
SUPERIOR
Convierte el texto en mayúsculas.
Sintaxis: UPPER(“texto”)
Operadores
Puede utilizar operadores aritméticos y de comparación enumerados en las siguientes tablas.
Operadores aritméticos
Operador | Descripción |
+ | Añadir |
– | Restar o negar |
* | Multiplicar |
/ | Dividir |
Por ejemplo, la siguiente expresión devolverá el promedio de los dos valores numéricos.
(RATING1 + RATING2) / 2
Operadores de comparación
Operador | Descripción |
== | Igual a |
> | Mayor que |
< | Menor que |
>= | Mayor o igual que |
<= | Menor o igual que |
!= | No es igual a |
Por ejemplo, la siguiente expresión devolverá “mala calificación” cuando RATING sea menor o igual a 3, y “good rating” cuando RATING sea mayor que 3.
IF(CALIFICACIÓN <= 3, "mala calificación", "buena calificación")
Operadores lógicos
Utilice operadores lógicos para especificar varias condiciones al utilizar la función IF o los filtros de job.
Operador | Descripción |
y | La condición es verdadera si todas las condiciones separadas por “y” son verdaderas. |
en | La condición es verdadera si hay una coincidencia con cualquiera de los valores enumerados.
Sintaxis: en[“valor 1”, “valor 2”, “valor 3”] Consejo Q: Utilícelo en lugar de varios operadores o.
|
o | La condición es verdadera si alguna de las condiciones separadas por “o” es verdadera. |
Por ejemplo, la siguiente expresión devolverá “Mediterráneo” si el campo PAÍS contiene cualquiera de los valores especificados. De lo contrario, devolverá “No metiterraneo”.
IF(LOWER(COUNTRY) in [“france”, “portugal”, “italy”, “spain”, “greece”, “malta”, “cyprus”], “Mediterranean”, “Non-Mediterranean”)
Sugerencias de sintaxis
Siga estos consejos para evitar expresiones no válidas:
- Al combinar varias funciones en una expresión, asegúrese de que el número de paréntesis de apertura y cierre coincida.
Ejemplo: IF(GETDAYSBETWEEN(feedback_date, response_date) > 3, “retrasado”, “no retrasado”).
- Para cada función utilizada en la expresión, todos los argumentos necesarios deben estar presentes. Por ejemplo, la función TODATE requiere que los argumentos de fecha y de formato de fecha funcionen correctamente.
- Asegúrese de utilizar el tipo de datos correcto admitido por una función o una operación aritmética o de comparación. Por ejemplo, la función ABS necesita un número para funcionar correctamente y no funcionará en un campo de texto o fecha.
- Si hay puntos (“.”) en su expresión, ajústelos con la función FIELD y las comillas (ya sea “simple” o “doble”). Por ejemplo, si tiene un campo llamado “agentParticipants.0.agentLoginName”, así es como lo envuelve en una transformación potencial:
IF(CONTAINS(LOWER(FIELD(“agentParticipants.0.agentLoginName”)), “bot”),”YES”, “NO”).