Funciones de asignación de preparación de datos
Las funciones de preparación de datos se pueden utilizar para calcular y calcular valores basados en lo que se introduce en los campos de origen.
Campos
Un nombre de campo puede ser cualquier identificador válido: una secuencia de longitud ilimitada de letras y dígitos Unicode que comience por una letra, el signo de dólar ($
) o el carácter de subrayado (_
). Los nombres de variables también distinguen entre mayúsculas y minúsculas.
Si el nombre de campo no sigue esta convención, el nombre de campo debe incluirse entre ${}
. Por lo tanto, si el nombre de campo es "First Name" o "First.Name", el nombre debe incluirse entre ${First Name}
o ${First\.Name}
, respectivamente.
.
), debe utilizar una barra invertida (\
) para omitir los caracteres especiales. Para obtener más información, lea la guía sobre caracteres especiales de escape.Si el nombre de campo es any de las siguientes palabras clave reservadas, debe incluirse ${}{}
:
new, mod, or, break, var, lt, for, false, while, eq, gt, div, not, null, continue, else, and, ne, true, le, if, ge, return, _errors, do, function, empty, size
Además, las palabras clave reservadas también incluyen cualquiera de las funciones de asignador enumeradas en esta página.
Se puede acceder a los datos de los subcampos utilizando la notación de puntos. Por ejemplo, si había un objeto name
, para tener acceso al campo firstName
, utilice name.firstName
.
Lista de funciones
En las tablas siguientes se enumeran todas las funciones de asignación admitidas, incluidas las expresiones de muestra y sus resultados.
Funciones de cadena string
- STRING: cadenas que se concatenarán.
"Hi, there!"
\
: +, ?, ^, |, ., [, (, {, ), *, $, \
Si incluye varios caracteres como delimitador, el delimitador se tratará como un delimitador de varios caracteres.- CADENA: Requerida La cadena que debe dividirse.
- REGEX: Opcional La expresión regular que se puede usar para dividir la cadena.
["Hi,", "there"]
- ENTRADA: Requerida La cadena que se está buscando.
- SUBCADENA: Requerida La subcadena que se está buscando dentro de la cadena.
- START_POSITION: Opcional La ubicación de donde comenzar a buscar en la cadena.
- OCURRENCIA: Opcional La enésima ocurrencia que se busca desde la posición inicial. De forma predeterminada, se establece en 1.
- ENTRADA: Requerida La cadena de entrada.
- TO_FIND: Requerido La cadena que buscar dentro de la entrada.
- TO_REPLACE: Requerido La cadena que reemplazará el valor dentro de "TO_FIND".
- ENTRADA: Requerida La cadena de entrada.
- START_INDEX: Requerido Índice de la cadena de entrada donde comienza la subcadena.
- LENGTH: Requerido Longitud de la subcadena.
lcase
- ENTRADA: Requerida La cadena que se convertirá a minúsculas.
lcase("HeLo")
ucase
- ENTRADA: Requerida La cadena que se convertirá a mayúsculas.
ucase("HeLo")
\
: \
. Si incluye varios delimitadores, la cadena se dividirá en cualquiera de los delimitadores presentes en la cadena. Nota: Esta función sólo devuelve índices no nulos de la cadena, independientemente de la presencia del separador. Si se requieren todos los índices, incluidos los valores nulos, en la matriz resultante, utilice la función "explode" en su lugar.- ENTRADA: Requerida La cadena de entrada que se va a dividir.
- SEPARADOR: Requerido La cadena que se usa para dividir la entrada.
["Hello", "world"]
- SEPARADOR: Requerido La cadena que se usará para unir los objetos.
- OBJETOS: Requerido Una matriz de cadenas que se unirán.
join(SEPARATOR, [OBJECTS])
join(" ", to_array(true, "Hello", "world"))
- ENTRADA: Requerida La cadena que se va a rellenar. Esta cadena puede ser nula.
- RECUENTO: Requerido El tamaño de la cadena que se va a rellenar.
- RELLENO: Requerido La cadena con la que se va a rellenar la entrada. Si es nulo o está vacío, se tratará como un solo espacio.
- ENTRADA: Requerida La cadena que se va a rellenar. Esta cadena puede ser nula.
- RECUENTO: Requerido El tamaño de la cadena que se va a rellenar.
- RELLENO: Requerido La cadena con la que se va a rellenar la entrada. Si es nulo o está vacío, se tratará como un solo espacio.
- CADENA: Requerida La cadena para la que está obteniendo los primeros caracteres "n".
- RECUENTO: Requerido Los caracteres "n" que desea obtener de la cadena.
- CADENA: Requerida La cadena para la que se obtienen los últimos caracteres "n".
- RECUENTO: Requerido Los caracteres "n" que desea obtener de la cadena.
- CADENA: Requerida La cadena de la que desea quitar el espacio en blanco.
- CADENA: Requerida La cadena de la que desea quitar el espacio en blanco.
- CADENA: Requerida La cadena de la que desea quitar el espacio en blanco.
- CADENA1: Requerida La primera cadena que desea comparar.
- CADENA2: Requerida La segunda cadena que desea comparar.
- CADENA1: Requerida La primera cadena que desea comparar.
- CADENA2: Requerida La segunda cadena que desea comparar.
Funciones de expresión regular
- CADENA: Requerida La cadena de la que está extrayendo los grupos.
- REGEX: Requerido Expresión regular que desea que coincida el grupo.
- CADENA: Requerida La cadena que está comprobando coincide con la expresión regular.
- REGEX: Requerido Expresión regular con la que está comparando.
Funciones hash hashing
- ENTRADA: Requerida El texto sin formato que se va a hash.
- CHARSET: Opcional El nombre del conjunto de caracteres. Los valores posibles incluyen UTF-8, UTF-16, ISO-8859-1 y US-ASCII.
- ENTRADA: Requerida El texto sin formato que se va a hash.
- CHARSET: Opcional El nombre del conjunto de caracteres. Los valores posibles incluyen UTF-8, UTF-16, ISO-8859-1 y US-ASCII.
- ENTRADA: Requerida El texto sin formato que se va a hash.
- CHARSET: Opcional El nombre del conjunto de caracteres. Los valores posibles incluyen UTF-8, UTF-16, ISO-8859-1 y US-ASCII.
- ENTRADA: Requerida El texto sin formato que se va a hash.
- CHARSET: Opcional El nombre del conjunto de caracteres. Los valores posibles incluyen UTF-8, UTF-16, ISO-8859-1 y US-ASCII.
- ENTRADA: Requerida El texto sin formato que se va a hash.
- CHARSET: Opcional El nombre del conjunto de caracteres. Los valores posibles incluyen UTF-8, UTF-16, ISO-8859-1 y US-ASCII.
Funciones de URL url
- URL: Requerida Dirección URL de la cual se debe extraer el protocolo.
- URL: Requerida Dirección URL de la cual se debe extraer el host.
- URL: Requerido Dirección URL de la cual se debe extraer el puerto.
- URL: Requerida Dirección URL de la cual se debe extraer la ruta.
- FULL_PATH: Opcional Un valor booleano que determina si se devuelve la ruta de acceso completa. Si se establece en false, solo se devuelve el final de la ruta.
- URL: Requerida Dirección URL desde la que intenta obtener la cadena de consulta.
- ANCLAJE: Requerido Determina qué se hará con el anclaje en la cadena de consulta. Puede ser uno de los tres valores siguientes: "keep", "remove" o "append".
Si el valor es "conservar", el anclaje se adjuntará al valor devuelto.
Si el valor es "remove", el anclaje se eliminará del valor devuelto.
Si el valor es "anexar", el anclaje se devolverá como un valor independiente.
get_url_query_str("foo://example.com:8042/over/there?name= ferret#nose", "remove")
get_url_query_str("foo://example.com:8042/over/there?name=ferret#nose", "append")
{"name": "ferret#nose"}
{"name": "ferret"}
{"name": "ferret", "_anchor_": "nose"}
- URL: Requerida La dirección URL de entrada con caracteres especiales que desea reemplazar o codificar con caracteres ASCII.
- URL: Requerida La URL de entrada con caracteres ASCII que desea descodificar en caracteres especiales.
Funciones de fecha y hora date-and-time
date
en la sección de fechas de la guía de administración de formato de datos.2021-10-26T10:10:24Z
- FECHA: Requerida La fecha de entrada, como objeto ZonedDateTime, a la que desea dar formato.
- FORMATO: Requerido El formato al que desea cambiar la fecha.
yyyy-MM-dd HH:mm:ss
")2019-10-23 11:24:35
- Marca de tiempo: Requerida La marca de tiempo a la que desea dar formato. Esto se escribe en milisegundos.
- FORMATO: Requerido El formato en el que desea que se convierta la marca de tiempo.
yyyy-MM-dd'T'HH:mm:ss.SSSX
")2019-10-23T11:24:35.000Z
- FECHA: Requerido La cadena que representa la fecha.
- FORMATO: Requerido La cadena que representa el formato de la fecha de origen.Nota: Esto hace que no represente el formato en el que desea convertir la cadena de fecha.
- DEFAULT_DATE: Obligatorio Se devolvió la fecha predeterminada, si la fecha proporcionada es nula.
2019-10-23T11:24:00Z
- FECHA: Requerido La cadena que representa la fecha.
- FORMATO: Requerido La cadena que representa el formato de la fecha de origen.Nota: Esto hace que no represente el formato en el que desea convertir la cadena de fecha.
2019-10-23T11:24:00Z
- FECHA: Requerido La cadena que representa la fecha.
"year"
"yyyy"
"yy"
"quarter"
"qq"
"q"
"month"
"mm"
"m"
"dayofyear"
"dy"
"y"
"day"
"dd"
"d"
"week"
"ww"
"w" "día de la semana"
"dw"
"w"
"hora"
"hh"
"hh24"
"hh12"
"minuto"
"mi"
"n"
"segundo"
"ss"
"s"
"milisegundo"
"SSS"
- COMPONENTE: Requerido Una cadena que representa la parte de la fecha.
- FECHA: Requerida La fecha, en un formato estándar.
"año"
"aaaa"
"aa"
"mes"
"mm"
"m"
"día"
"dd"
"d"
"hora"
"hh"
"minuto"
"mi"
"n"
"segundo"
"ss"
"s"
- COMPONENTE: Requerido Una cadena que representa la parte de la fecha.
- VALOR: Requerido Valor que se va a establecer para el componente en una fecha determinada.
- FECHA: Requerida La fecha, en un formato estándar.
- AÑO: Obligatorio El año, escrito con cuatro dígitos.
- MES: Requerido mes. Los valores permitidos son del 1 al 12.
- DÍA: Requerido El día. Los valores permitidos son del 1 al 31.
- HORA: Requerido La hora. Los valores permitidos son de 0 a 23.
- MINUTO: Requerido El minuto. Los valores permitidos son de 0 a 59.
- NANOSECOND: Requerido Los valores de nanosegundos. Los valores permitidos son de 0 a 999999999.
- ZONA HORARIA: Requerida La zona horaria de la fecha y hora.
2019-10-17T11:55:12Z
- FECHA: Requerida La fecha que intenta convertir.
zone_date_to_utc​(2019-10-17T11:55:​12 PST
2019-10-17T19:55:12Z
- FECHA: Requerida La fecha que intenta convertir.
- ZONA: Requerida Zona horaria a la que intenta convertir la fecha.
zone_date_to_zone(now(), "Europe/Paris")
2021-10-26T15:43:59Z
Jerarquías: objetos objects
- ENTRADA: Requerida El objeto que intenta comprobar está vacío.
is_empty([1, null, 2, 3])
- ENTRADA: Requerida Una agrupación de pares de claves y matrices.
arrays_to_objects('sku', explode("id1|id2", '\\|'), 'price', [22.5,14.35])
[{ "sku": "id1", "price": 22.5 }, { "sku": "id2", "price": 14.35 }]
- ENTRADA: Requerida Una lista plana de pares clave/valor.
{"firstName": "John", "lastName": "Doe"}
- STRING: Requerido La cadena que se está analizando para crear un objeto.
- VALUE_DELIMITER: Opcional El delimitador que separa un campo del valor. El delimitador predeterminado es
:
. - FIELD_DELIMITER: Opcional El delimitador que separa los pares de valor de campo. El delimitador predeterminado es
,
.
get()
junto con str_to_object()
para recuperar los valores de las claves de la cadena.- Ejemplo #1: str_to_object("firstName - John ; lastName - ; - 123 345 7890", "-", ";")
- Ejemplo #2: str_to_object("firstName - John ; lastName - ; phone - 123 456 7890", "-", ";").get("firstName")
- Ejemplo #1:
{"firstName": "John", "lastName": "Doe", "phone": "123 456 7890"}
- Ejemplo #2: "John"
is_set()
.- ENTRADA: Requerida Ruta de acceso que se debe comprobar si existe dentro de los datos de origen.
null
. Debe utilizarse cuando no desee copiar el campo en el esquema de destino.null
- OBJETO: Requerido El objeto del cual se extraerán las claves.
["book1", "book2"]
- CADENA: Requerida La cadena que desea analizar.
- CLAVE: Requerida Clave para la que se debe extraer el valor.
- VALUE_DELIMITER: Requerido El delimitador que separa el campo y el valor. Si se proporciona
null
o una cadena vacía, este valor es:
. - FIELD_DELIMITER: Opcional El delimitador que separa los pares de campo y valor. Si se proporciona
null
o una cadena vacía, este valor es,
.
- MAPA: Requerido Los datos del mapa de entrada.
- CLAVE: Requerida La clave puede ser una sola cadena o una matriz de cadenas. Si se proporciona cualquier otro tipo primitivo (datos/número), se trata como una cadena.
- MAPA: Requerido Los datos de asignación de entrada
- CLAVE: Requerida La clave puede ser una sola cadena o una matriz de cadenas. Si se proporciona cualquier otro tipo primitivo (datos/número), se trata como una cadena.
- CLAVE: Requerido Las claves deben ser una cadena. Si se proporciona cualquier otro valor primitivo, como números enteros o fechas, se convierten automáticamente en cadenas y se tratan como cadenas.
- ANY_TYPE: Obligatorio Se refiere a cualquier tipo de datos XDM admitido, excepto Mapas.
- OBJETO: Requerido Puede proporcionar un objeto entrante o matriz de objetos y señalar a un atributo dentro del objeto como clave.
- OBJETO: Requerido Puede proporcionar un objeto entrante o matriz de objetos y señalar a un atributo dentro del objeto como clave.
Para obtener información sobre la característica de copia de objetos, consulte la sección debajo de.
Jerarquías - Matrices arrays
- ENTRADA: Requerida La matriz de la que desea encontrar el primer objeto no nulo.
- ENTRADA: Requerida La matriz de la que desea encontrar el primer elemento.
- ENTRADA: Requerida La matriz de la que desea encontrar el último elemento.
- MATRIZ: Requerida Matriz a la que está agregando elementos.
- VALUES: Los elementos que desea anexar a la matriz.
- MATRIZ: Requerida Matriz a la que está agregando elementos.
- VALUES: Las matrices que desea anexar a la matriz principal.
- INCLUDE_NULLS: Requerido Valor booleano que indica si se deben incluir o no valores nulos en la matriz de respuesta.
- VALORES: Requerido Los elementos que se van a convertir en una matriz.
[1, 2, 3]
- ENTRADA: Requerida El objeto del que intenta encontrar el tamaño.
size_of([1, 2, 3, 4])
- MATRIZ: Requerido La matriz para anexar la matriz en el perfil.
upsert_array_append([123, 456])
- MATRIZ: Requerido La matriz para reemplazar la matriz en el perfil.
upsert_array_replace([123, 456], 1)
- SEPARADOR: Requerido El separador usado para unir los elementos de la matriz.
- MATRIZ: Requerida Matriz que se unirá (después del acoplamiento).
array_to_string(";", ["Hello", "world"])
- MATRIZ: Requerido La matriz que se filtrará
- PREDICADO: Requerido El predicado que se aplicará en cada elemento de la matriz dada.
filterArray([5, -6, 0, 7], x -> x > 0)
- MATRIZ: Requerido La matriz que se va a transformar.
- PREDICADO: Requerido El predicado que se aplicará en cada elemento de la matriz dada.
transformArray([5, 6, 7], x -> x + 1)
- MATRIZ: Requerido La matriz que se va a acoplar.
Jerarquías: asignación map
- ENTRADA: Requerida La matriz de objetos de la que desea encontrar el primer objeto no nulo.
- CLAVE: Requerida La clave debe ser un nombre de campo en la matriz de objetos y el objeto como valor.
- ENTRADA: Requerida La matriz de objetos de la que desea encontrar el primer objeto no nulo.
"{line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}"
"{\"firstName\" : \"John\", \"lastName\": \"Doe\"}"
Operadores lógicos logical-operators
- CLAVE: Requerida La clave que se va a buscar coincide.
- OPTIONS: Requerido Una matriz aplanada de pares clave/valor. De forma opcional, se puede colocar un valor predeterminado al final.
Si el stateCode proporcionado es "pa", "Pennsylvania".
Si stateCode no coincide con lo siguiente, "N/A".
- EXPRESIÓN: Requerida La expresión booleana que se está evaluando.
- TRUE_VALUE: Requerido El valor que se devuelve si la expresión se evalúa como true.
- FALSE_VALUE: Requerido El valor que se devuelve si la expresión se evalúa como falsa.
Agregación aggregation
- OPTIONS: Requerido Uno o más objetos que se pueden comparar entre sí.
- OPTIONS: Requerido Uno o más objetos que se pueden comparar entre sí.
Escribir conversiones type-conversions
- STRING: Requerido La cadena que se va a convertir en un BigInteger.
- CADENA: Requerida La cadena que se va a convertir en un valor de tipo Double.
- CADENA: Requerida La cadena que se va a convertir en un valor Flotante.
- STRING: Requerido La cadena que se va a convertir en un número entero.
Funciones JSON json
- CADENA: Requerida La cadena JSON que se va a deserializar.
Operaciones especiales special-operations
guid
guid()
guid()
c7016dc7-3163-43f7-afc7-2e1c9c206333
fpid_to_ecid
- CADENA: Requerido La cadena FPID que se convertirá en ECID.
fpid_to_ecid(STRING)
fpid_to_ecid("4ed70bee-b654-420a-a3fd-b58b6b65e991")
"28880788470263023831040523038280731744"
Funciones del agente de usuario user-agent
Cualquiera de las funciones de agente de usuario que se incluyen en la tabla siguiente puede devolver cualquiera de los siguientes valores:
- Teléfono: dispositivo móvil con pantalla pequeña (normalmente < 7")
- Móvil: dispositivo móvil que aún no se ha identificado. Este dispositivo móvil puede ser un eReader, una tableta, un teléfono, un reloj, etc.
Para obtener más información sobre los valores de los campos de dispositivos, lea la lista de valores de los campos de dispositivos en el apéndice de este documento.
- USER_AGENT: Requerido La cadena del agente de usuario.
- USER_AGENT: Requerido La cadena del agente de usuario.
- USER_AGENT: Requerido La cadena del agente de usuario.
- USER_AGENT: Requerido La cadena del agente de usuario.
- USER_AGENT: Requerido La cadena del agente de usuario.
- USER_AGENT: Requerido La cadena del agente de usuario.
- USER_AGENT: Requerido La cadena del agente de usuario.
- USER_AGENT: Requerido La cadena del agente de usuario.
Funciones de Analytics analytics
- EVENT_STRING: Requerido La cadena de evento de Analytics separada por comas.
- EVENT_NAME: Requerido El nombre del evento que se va a extraer e ID.
- EVENT_STRING: Requerido La cadena de evento de Analytics separada por comas.
- EVENT_NAME: Requerido El nombre del evento del que se extraerá un valor.
- PRODUCTS_STRING: Requerido La cadena de productos de Analytics.
- PRODUCTS_STRING: Requerido La cadena de productos de Analytics.
- PRODUCTS_STRING: Requerido La cadena de productos de Analytics.
- PRODUCTS_STRING: Requerido La cadena de productos de Analytics.
- PRODUCTS_STRING: Requerido La cadena de productos de Analytics.
- EVENT_NAME: Requerido El nombre del evento del que se extraerán los valores.
- PRODUCTS_STRING: Requerido La cadena de productos de Analytics.
- EVAR_NAME: Requerido El nombre del eVar que se va a extraer.
Copia de objeto object-copy
Puede utilizar la función de copia de objetos para copiar automáticamente los atributos de un objeto sin realizar cambios en la asignación. Por ejemplo, si los datos de origen tienen una estructura de:
address{
line1: 4191 Ridgebrook Way,
city: San Jose,
state: California
}
y una estructura XDM de:
addr{
addrLine1: 4191 Ridgebrook Way,
city: San Jose,
state: California
}
A continuación, la asignación pasa a ser:
address -> addr
address.line1 -> addr.addrLine1
En el ejemplo anterior, los atributos city
y state
también se incorporan automáticamente durante la ejecución porque el objeto address
está asignado a addr
. Si crea un atributo line2
en la estructura XDM y los datos de entrada también contienen un line2
en el objeto address
, también se incorporará automáticamente sin necesidad de modificar manualmente la asignación.
Para garantizar que la asignación automática funcione, se deben cumplir los siguientes requisitos previos:
- Los objetos de nivel principal deben asignarse;
- Se deben haber creado nuevos atributos en el esquema XDM;
- Los nuevos atributos deben tener nombres coincidentes en el esquema de origen y en el esquema XDM.
Si no se cumplen todos los requisitos previos, debe asignar manualmente el esquema de origen al esquema XDM mediante la preparación de datos.
Apéndice
A continuación se proporciona información adicional sobre el uso de funciones de asignación de preparación de datos
Caracteres especiales special-characters
La siguiente tabla describe una lista de caracteres reservados y sus caracteres codificados correspondientes.
Valores de campo de dispositivo device-field-values
La tabla siguiente describe una lista de valores de campos de dispositivo y sus descripciones correspondientes.
useragents
que han sido alterados por un software de anonimización.useragents
y no contienen información sobre el dispositivo.useragent
.Muestras de código code-samples
map_get_values map-get-values
code language-json |
---|
|
map_has_keys map_has_keys
code language-json |
---|
|
add_to_map add_to_map
code language-json |
---|
|
object_to_map object_to_map
Sintaxis 1
code language-json |
---|
|
Sintaxis 2
code language-json |
---|
|
Sintaxis 3
code language-json |
---|
|
array_to_map array_to_map
code language-json |
---|
|