Plantilla de artículo
Acerca de Building Expressions
En XM Discover se utilizan expresiones para filtro sus datos y a transformar campos de datos. Por ejemplo, puede utilizar expresiones para cambiar el formato del campo de fecha, evaluar datos en busca de registros vacíos y realizar cálculos matemáticos.
Las expresiones pueden contener 4 componentes:
- Constantes:Puede utilizar números constantes, cadenas de texto y fechas para realizar operaciones matemáticas y de comparación .
- Campos:Puede utilizar campos numéricos, de texto y de fecha disponibles a través de un conector de datos específico para realizar operaciones matemáticas y de comparación en esos campos.
- Funciones:Puede utilizar funciones para realizar transformaciones en sus campos y constantes.
- Operadores:Puede utilizar operadores para realizar operaciones matemáticas y comparar sus campos y constantes.
Constantes
Las constantes son números, cadenas de texto y fechas que puedes usar para realizar operaciones matemáticas y comparaciones. Por ejemplo, puede utilizar una fecha constante, como la fecha en que lanzó su encuesta anual de CX , para calcular la antigüedad de la respuesta de un encuesta .
Notas sobre el uso de constantes:
- Las cadenas de texto se tratan como sensibles a mayúsculas y minúsculas. Utilice las funciones UPPER o LOWER como solución alternativa para distinguir entre mayúsculas y minúsculas.
- Las cadenas de texto y las fechas deben colocarse entre comillas.
- Los números no necesitan comillas (un número entre comillas se trata como texto).
Campos
Los campos son los campos de datos disponibles en su conector de datos entrantes. Esto incluye campos numéricos, de cadena de texto y de fecha, que puede utilizar para realizar operaciones matemáticas y comparaciones. Por ejemplo, si su conjunto de datos contiene un campo para el cumpleaños de un cliente, puede calcular la edad del cliente.
Para agregar un campo, arrástrelo desde el Campos sección sobre el Expresión caja.
Los tipos de campo están etiquetados con los siguientes íconos:
Funciones
Puede utilizar las funciones numéricas, de texto y de fecha enumeradas en esta sección.
Para agregar una función, arrástrela desde el Funciones sección sobre el Expresión caja.
Los tipos de funciones están etiquetados con los siguientes íconos:
abdominales
Devuelve el valor absoluto de un número.
Sintaxis: ABS(número)
JUNTARSE
Devuelve el primer valor no nulo en una lista.
Sintaxis: COALESCE(valor1, valor2, valor3)
TECHO
Devuelve el valor redondeado de un número.
Sintaxis: CEILING(número)
CONCAT
Une varias cadenas de texto en una.
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 falso.
Sintaxis: CONTAINS(“dentro del texto”, “buscar texto”)
CONVERTIR A ZONA HORARIA
Convierte la fecha y la hora de una zona horaria a otra.
Sintaxis: CONVERT_TO_TIMEZONE(“fecha y hora”, ” zona horaria desde la que se convertirá”, ” zona horaria a la que se convertirá”)
Notas sobre el formato de fecha:
- Proporcione las zonas horarias utilizando sus nombres de base de datos tz.
- Proporcione la fecha y la hora en ISO 8601 o como aaaa-mm-dd hh:mm:ss.
- Si se proporcionan la fecha y la hora con información de la zona horaria, se ignora en favor del parámetro ” zona horaria desde la cual convertir”.
- La fecha convertida utiliza el formato ISO 8601. Utilice la función TODATE si necesita cambiar esto.
FECHA Y NÚMERO
Convierte un campo de fecha en una marca de tiempo Unix.
Sintaxis: DATETONUMBER(“fecha”)
FECHA DE TEXTO
Convierte un campo de fecha en una cadena de fecha en el formato solicitado.
Sintaxis: DATETOTEXT(“fecha”, “formato de fecha”)
DIA DE LA SEMANA
Devuelve el día de la semana correspondiente a una fecha.
Sintaxis: DAYOFWEEK(“fecha”)
BUSQUEDA DINAMICA
Reemplaza los valores del campo utilizando una tabla de búsqueda cargada dinámicamente. Los valores de búsqueda se toman del campo especificado en el primer argumento (“nombre del campo”).
Sintaxis: DYNAMICLOOKUP(“nombre del campo”, “valor”)
ELEMENTOFARRAY
Extraiga el valor n de una matriz y luego asigne los valores de la matriz a los atributos en XM Discover.
Sintaxis: ELEMENTOFARRAY([“elemento de la matriz 1”, “elemento de la matriz 2”, “elemento de la matriz 3”], número)
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 nulo. Los números en orden creciente comienzan desde 0.
CAMPO
Envuelve los nombres de campos que contienen espacios o puntos.
Sintaxis: FIELD(“nombre del campo”)
ENCONTRAR
Ubica 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” (comenzando desde 1).
Permite especificar el orden de los caracteres “dentro del texto” en el que iniciar la búsqueda (comenzando desde 1). Si omite order_number, se supone que es 1.
Devuelve -1 si “buscar texto” no se encuentra en “dentro del texto”.
Sintaxis: FIND(“buscar texto”, “dentro del texto”, número_de_pedido)
ENCONTRAR PRIMERO
Ubica la primera aparición 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” a partir del primer carácter de “dentro del texto” (comenzando desde 1).
Sintaxis: FINDFIRST(“dentro del texto”, “buscar texto”)
ENCONTRARLO
Localiza la última aparición 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” a partir del primer carácter de “dentro del texto” (comenzando desde 1).
Sintaxis: FINDLAST(“dentro del texto”, “buscar texto”)
PISO
Devuelve el valor redondeado hacia abajo de un número.
Sintaxis: FLOOR(número)
GENERAR_ID
Genera una identificación única. Esta función no requiere parámetros adicionales.
Sintaxis: GENERATE_ID()
OBTENER DÍAS ENTRE
Devuelve el número de días entre dos fechas.
Sintaxis: GETDAYSBETWEEN(“fecha de inicio”, “fecha de finalización”)
NOSOTROS ENTRE
Devuelve el número de horas entre dos fechas.
Sintaxis: GETHOURSBETWEEN(“fecha de inicio”, “fecha de finalización”)
OBTENER MINUTOS ENTRE
Devuelve el número de minutos entre dos fechas.
Sintaxis: GETMINUTESBETWEEN(“fecha de inicio”, “fecha de finalización”)
Si
Devuelve un valor si la declaración es verdadera y otro valor si la declaración es falsa.
Sintaxis: IF(instrucción, “valor si es verdadero”, “valor si es falso”)
ES BLANCO
Devuelve VERDADERO cuando un campo está vacío y FALSO cuando un campo no está vacío.
Sintaxis: ISBLANK(“nombre del campo”)
ÚNETE A LA MATRIZ
Une una matriz de elementos en una sola cadena con un delimitador especificado.
Sinopsis: JOINARRAY(matriz, delimitador, escape, skipNull, removeDuplicates)
En la sintaxis anterior:
- formación:matriz de cadenas o números para unir.
- delimitador:carácter delimitador a utilizar al unir la matriz.
- escapar:si es verdadero, conserva los elementos entre comillas.
- saltarNull:si es verdadero, omite los elementos que son nulos.
- eliminarduplicado:Si es verdadero, elimine los elementos duplicar .
LEN
Devuelve el número de letras en una cadena de texto.
Sintaxis: LEN(“texto”)
Sintaxis: LEN([“texto1”, texto2])
MÁS BAJO
Convierte el texto a minúsculas.
Sintaxis: LOWER(“texto”)
MD5HASH
Aplica el hash MD5 a los datos de entrada para generar identificadores únicos basados en esos datos.
Sintaxis: MD5HASH(“texto”)
MEDIO
Devuelve una cantidad específica de caracteres de una cadena de texto, comenzando en la posición especificada.
La posición (order_number) comienza desde 1.
Sintaxis: MID(“texto”, número_de_pedido, número_de_caracteres)
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()
NUMERO HASTA LA FECHA
Convierte una marca de tiempo de Unix en un campo de fecha. La marca de tiempo de Unix es la cantidad de milisegundos que han transcurrido desde el 1 de enero de 1970.
Sintaxis: NUMBERTODATE(número)
NUMERO A TEXTO
Convierte un número en texto.
Sintaxis: NUMBERTOTEXT(número)
Prisionero de guerra
Devuelve el resultado de x elevado a la potencia de y.
Sintaxis: POW(x, y)
CASO APROPIADO
Pone en mayúscula la primera letra de una cadena de texto.
Sintaxis: PROPERCASE(“texto”)
Ejemplo: PROPERCASE(“la práctica hace al maestro”) se resuelve en La práctica hace al maestro.
ALEATORIO
Devuelve un número real aleatorio entre 0 y 1. Esta función no requiere parámetros adicionales.
Sintaxis: RANDOM()
AL AZAR ENTRE
Devuelve un número entero aleatorio entre dos números.
Sintaxis: RANDOMBETWEEN(número mínimo, número máximo)
ELIMINAR ETIQUETAS HTML
Elimina las etiquetas HTML de una cadena de texto.
Sintaxis: REMOVEHTMLTAGS(“texto”)
REEMPLAZAR
Reemplaza parte de una cadena de texto (“texto antiguo”) con una cadena de texto diferente (“texto nuevo”) una cantidad determinada de veces (número_de_reemplazos) según el número de ocurrencia de “texto antiguo” dentro de “texto” (número_de_ocurrencia).
Sintaxis: REPLACE(“texto”, “texto antiguo”, “texto nuevo”, número_de_ocurrencia, distinción_entre_mayúsculas_y_minúsculas, número_de_reemplazos)
REEMPLAZAR POR ÍNDICE
Reemplaza parte de una cadena de texto (“texto antiguo”) con una cadena de texto diferente (“texto nuevo”), según la cantidad de caracteres que especifique.
La posición (order_number) comienza desde 1.
Sintaxis: REPLACE(“texto antiguo”, número_de_pedido, número_de_caracteres, “texto nuevo”)
REEMPLAZAR POR REGEXP
Reemplaza valores de texto utilizando expresiones regulares.
Sintaxis: REPLACEBYREGEXP(“texto”, “expresión regular para coincidencia de patrones”, “expresión regular para valor de reemplazo”)
REDONDO
Devuelve el valor de un número redondeado al entero más cercano.
Sintaxis: ROUND(número)
BUSCAR
Ubica 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” (comenzando desde 1).
Permite especificar el orden de los caracteres “dentro del texto” en el que iniciar la búsqueda (comenzando desde 1). Si omite order_number, se supone que es 1.
Devuelve -1 si “buscar texto” no se encuentra en “dentro del texto”.
Sintaxis: BUSCAR(“buscar texto”, “dentro del texto”, número_de_pedido)
DIVIDIR
Divide una cadena dada en una matriz de subcadenas según un delimitador especificado. Esta función se puede utilizar como parámetro para las funciones JOINARRAY o ELEMENTOFARRAY ya que el valor de salida debe ser una cadena.
Sintaxis: SPLIT(“cadena_a_dividir”, “_”)
SUSTITUTO
Sustituye “texto antiguo” por “texto nuevo” en una cadena de texto.
Permite especificar qué ocurrencia de “texto antiguo” desea reemplazar. Si especifica happen_number, solo se reemplaza esa instancia de “texto antiguo”. De lo contrario, cada aparición de “texto antiguo” en el texto se cambia a “texto nuevo”.
Sintaxis: SUBSTITUTE(“texto”, “texto antiguo”, “texto nuevo”, número_de_ocurrencia)
SUBSTR
Devuelve una parte de una cadena de texto comenzando desde el primer carácter de la cadena y hasta la cantidad especificada de caracteres (comenzando desde 1).
Sintaxis: SUBSTR(“texto”, numero_de_pedido)
TÍTULO EN CASETA
Pone en mayúscula la primera letra de cada palabra en una cadena de texto.
Sintaxis: TITLECASE(“texto”)
FECHA DEL TEXTO
Convierte una cadena de fecha en un campo de fecha con el siguiente formato: AAAA-MM-DDThh:mm:ssZ.
Sintaxis: TEXTTODATE(“fecha”, “formato de fecha”)
TEXTO NÚMERO
Convierte texto en número.
Sintaxis: TEXTTONUMBER(texto)
TRADUCIR
Traduce datos entrantes.
Sintaxis: TRANSLATE (” código de idioma de origen”, ” código de idioma de objetivo “, “texto”).
Notas:
- Esta función solo está disponible para cuentas con Credenciales de la API de Google Translate
- Para obtener una lista completa de los códigos de idioma admitidos, consulte Documentación de traducción de Google Cloud.
RECORTE A LA IZQUIERDA
Elimina espacios del extremo izquierdo de una cadena de texto.
Sintaxis: TRIMLEFT(“texto”)
CORTE A LA DERECHA
Elimina espacios del extremo derecho de una cadena de texto.
Sintaxis: TRIMRIGHT(“texto”)
SUPERIOR
Convierte el texto a mayúsculas.
Sintaxis: UPPER(“texto”)
Operadores
Puede utilizar los 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.
(CALIFICACIÓN1 + CALIFICACIÓN2) / 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 “buena calificación” cuando RATING sea mayor que 3.
SI(CALIFICACIÓN <= 3, "mala calificación", "buena calificación")
Operadores lógicos
Utilice operadores lógicos para especificar múltiples condiciones al utilizar la función SI o los filtros de trabajo.
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 alguno de los valores enumerados.
Sintaxis: in[“valor 1”, “valor 2”, “valor 3”] Consejo Q: Utilice esto en lugar de múltiples 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 alguno de los valores especificados. De lo contrario, devolverá “No mediterráneo”.
SI(INFERIOR(PAÍS) en [“francia”, “portugal”, “italia”, “españa”, “grecia”, “malta”, “chipre”], “mediterráneo”, “no mediterráneo”)
Consejos de sintaxis
Siga estos consejos para evitar expresiones invá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: SI(GETDAYSBETWEEN(fecha_de_retroalimentación, fecha_de_respuesta) > 3, “retrasado”, “no retrasado”).
- Para cada función utilizada en la expresión, deben estar presentes todos los argumentos requeridos. Por ejemplo, la función TODATE requiere los argumentos de fecha y formato de fecha para funcionar 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, envuélvalos con la función CAMPO y comillas (ya sea “simples” o “dobles”). Por ejemplo, si tiene un campo llamado “agentParticipants.0.agentLoginName”, así es como puede envolverlo en una posible transformación:
SI(CONTIENE(INFERIOR(CAMPO(“agentParticipants.0.agentLoginName”)), “bot”), “SÍ”, “NO”).