As funções de Preparação de dados podem ser usadas para calcular e calcular valores com base no que é inserido nos campos de origem.
Um nome de campo pode ser qualquer identificador legal - uma sequência ilimitada de letras e dígitos Unicode, começando com uma letra, o cifrão ($
) ou o caractere sublinhado (_
). Os nomes de variáveis também diferenciam maiúsculas de minúsculas.
Se um nome de campo não seguir esta convenção, o nome do campo deve ser envolvido com ${}
. Assim, por exemplo, se o nome do campo for "Nome" ou "Nome.Nome", o nome deverá ser colocado como ${First Name}
ou ${First.Name}
respectivamente.
Além disso, se um nome de campo for any das seguintes palavras-chave reservadas, elas devem estar vinculadas a ${}
:
new, mod, or, break, var, lt, for, false, while, eq, gt, div, not, null, continue, else, and, ne, true, le, if, ge, return
Os dados nos subcampos podem ser acessados usando a notação de pontos. Por exemplo, se houver um name
para acessar o firstName
campo , use name.firstName
.
As tabelas a seguir listam todas as funções de mapeamento compatíveis, incluindo expressões de amostra e suas saídas resultantes.
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
concat | Concatena as strings fornecidas. |
|
concat(STRING_1, STRING_2) | concat("Olá, ", "lá", "!") | "Hi, there!" |
explodido | Divida a string com base em um regex e retorna uma matriz de partes. Opcionalmente, pode incluir regex para dividir a cadeia de caracteres. Por padrão, a divisão resolve para ",". Os seguintes delimitadores need para ser evitada com \ : +, ?, ^, |, ., [, (, {, ), *, $, \ Se você incluir vários caracteres como delimitador, o delimitador será tratado como um delimitador de vários caracteres. |
|
explode(STRING, REGEX) | explode("Olá, lá!", " ") | ["Hi,", "there"] |
instr | Retorna o local/índice de uma substring. |
|
instr(INPUT, SUBSTRING, START_POSITION, OCORRÊNCIA) | instr("adobe.com", "com") | 6 |
substituidor | Substitui a string de pesquisa, se presente na string original. |
|
replace(INPUT, TO_FIND, TO_REPLACE) | replacestr("Esta é uma string re test", "re", "replace") | "Este é um teste de substituição de string" |
substr | Retorna uma substring de um determinado comprimento. |
|
substr(INPUT, START_INDEX, LENGTH) | substr("Este é um teste de substring", 7, 8) | " um subst" |
lower / lcase |
Converte uma cadeia de caracteres em minúsculas. |
|
lower(INPUT) | lower("HeLLo") lcase("HeLLo") |
"hello" |
upper / ucase |
Converte uma cadeia de caracteres em maiúsculas. |
|
upper(INPUT) | upper("HeLLo") ucase("HeLLo") |
"OLÁ" |
split | Divide uma string de entrada em um separador. O seguinte separador necessidades para ser evitada com \ : \ . Se você incluir vários delimitadores, a string será dividida em any dos delimitadores presentes na string. |
|
split(INPUT, SEPARADOR) | split("Hello world", " ") | ["Hello", "world"] |
join | Usa o separador para unir uma lista de objetos. |
|
join(SEPARATOR, [OBJECTS]) |
join(" ", to_array(true, "Hello", "world")) |
"Olá mundo" |
lpad | Preenche o lado esquerdo de uma cadeira de caracteres com a outra determinada. |
|
lpad(INPUT, COUNT, PADDING) | lpad("bat", 8, "yz") | "yzyzybat" |
rpad | Preenche o lado direito de uma string com a outra string especificada. |
|
rpad(INPUT, COUNT, PADDING) | rpad("bat", 8, "yz") | "batyzyzy" |
left | Obtém os primeiros "n" caracteres da string especificada. |
|
left(STRING, COUNT) | left("abcde", 2) | "ab" |
right | Obtém os últimos "n" caracteres da string especificada. |
|
right(STRING, COUNT) | right("abcde", 2) | "de" |
ltrim | Remove o espaço em branco do início da cadeia de caracteres. |
|
ltrim(STRING) | ltrim(" hello") | "hello" |
rtrim | Remove o espaço em branco do final da cadeia de caracteres. |
|
rtrim(STRING) | rtrim("hello ") | "hello" |
trim | Remove o espaço em branco do início e do fim da cadeia de caracteres. |
|
trim(STRING) | trim(" hello ") | "hello" |
igual a | Compara duas strings para confirmar se são iguais. Essa função diferencia maiúsculas e minúsculas. |
|
STRING1. é igual( STRING2) | "string1". é igual a ("STRING1") | false |
equalsIgnoreCase | Compara duas strings para confirmar se são iguais. Esta função é not diferencia maiúsculas de minúsculas. |
|
STRING1. é igual aIgnoreCase (STRING2) | "string1". equalsIgnoreCase ("STRING1) | true |
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
extract_regex | Extrai grupos da string de entrada, com base em uma expressão regular. |
|
extract_regex(STRING, REGEX) | extract_regex ("E259,E259B_009,1_1" , "([,]+),[,]*,([^,]+)") | ["E259,E259B_009,1_1", "E259", "1_1"] |
matches_regex | Verifica se a string corresponde à expressão regular inserida. |
|
matches_regex(STRING, REGEX) | matches_regex("E259,E259B_009,1_1", "([,]+),[,]*,([^,]+)") | true |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
sha1 | Obtém uma entrada e um valor de hash usando o Algoritmo de Hash Seguro 1 (SHA-1). |
|
sha1(ENTRADA, CARSET) | sha1("my text", "UTF-8") | c3599c11e47719df18a24 48690840c5dfcce3c80 |
sha256 | Obtém uma entrada e um valor de hash usando o Algoritmo de Hash Seguro 256 (SHA-256). |
|
sha256(ENTRADA, CARSET) | sha256("meu texto", "UTF-8") | 7330d2b39ca35eaf4cb95fc846c21 ee6a39af698154a83a586ee270a0d372104 |
sha512 | Obtém uma entrada e um valor de hash usando o Algoritmo de Hash Seguro 512 (SHA-512). |
|
sha512(ENTRADA, CARSET) | sha512("meu texto", "UTF-8") | a3d7e45a0d9be5fd4e4b9a3b8c9c2163c21ef 708bf11b4232bb21d2a8704ada2cdcd7b367dd07 88a89 a5c908cfe377aceb1072a7b386b7d4fd2ff68a8fd24d16 |
md5 | Obtém uma entrada e um valor de hash usando MD5. |
|
md5(INPUT, CHARSET) | md5("my text", "UTF-8") | d3b96ce8c9fb4 e9bd0198d03ba6852c7 |
crc32 | Utiliza uma entrada para usar um algoritmo CRC (Cyclic Redundancy Check, verificação de redundância cíclica) para produzir um código cíclico de 32 bits. |
|
crc32(INPUT, CHARSET) | crc32("meu texto", "UTF-8") | 8df92e80 |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
get_url_protocol | Retorna o protocolo do URL especificado. Se a entrada for inválida, retornará null. |
|
get_url_protocol (URL) | get_url_protocol("https://platform .adobe.com/home") | https |
get_url_host | Retorna o host do URL especificado. Se a entrada for inválida, retornará null. |
|
get_url_host (URL) | get_url_host ("https://platform .adobe.com/home") | platform.adobe.com |
get_url_port | Retorna a porta do URL especificado. Se a entrada for inválida, retornará null. |
|
get_url_port(URL) | get_url_port ("sftp://example.com//home/ joe/employee.csv") | 22 |
get_url_path | Retorna o caminho de determinada URL. Por padrão, o caminho completo é retornado. |
|
get_url_path (URL, FULL_PATH) | get_url_path ("sftp://example.com// home/joe/employee.csv") | "//home/joe/ employee.csv" |
get_url_query_str | Retorna a string de consulta de um determinado URL como um mapa do nome da string de consulta e do valor da string de consulta. |
|
get_url_query_str (URL, ANCHOR) | get_url_query_str ("foo://example.com:8042 /over/third?name= ferret#nose", "keep") get_url_query_str ("foo://example.com:8042 /over/third?name= ferret#nose", "remove") get_url_query_str ("foo://example.com :8042/over/lá ?name=ferret#nose", "append") |
{"name": "ferret#nose"} {"name": "ferret"} {"name": "ferret", "_anchor_": "nose"} |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela. Mais informações sobre o date
pode ser encontrada na seção de datas da variável guia de manipulação do formato de dados.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
now | Recupera a hora atual. | now() | now() | 2021-10-26T10:10:24Z |
|
carimbo de data e hora | Recupera o horário Unix atual. | carimbo de data e hora() | carimbo de data e hora() | 1571850624571 | |
format | Formata a data de entrada de acordo com um formato especificado. |
|
format(DATE, FORMAT) | format(2019-10-23T11:24:00+00:00, "aaaa-MM-dd HH:mm:ss") | 2019-10-23 11:24:35 |
dformat | Converte um carimbo de data e hora em uma string de data de acordo com um formato especificado. |
|
dformat(TIMESTAMP, FORMAT) | dformat(1571829875000, "aaaa-MM-dd'T'HH:mm:ss.SSSX") | 2019-10-23T11:24:35.000Z |
data | Converte uma cadeia de caracteres de data em um objeto ZoningDateTime (formato ISO 8601). |
|
date(DATE, FORMAT, DEFAULT_DATE) | date("2019-10-23 11:24", "yyyy-MM-dd HH:mm", now()) | 2019-10-23T11:24:00Z |
data | Converte uma cadeia de caracteres de data em um objeto ZoningDateTime (formato ISO 8601). |
|
date(DATE, FORMAT) | date("2019-10-23 11:24", "aaaa-MM-dd HH:mm") | 2019-10-23T11:24:00Z |
data | Converte uma cadeia de caracteres de data em um objeto ZoningDateTime (formato ISO 8601). |
|
date(DATE) | date("2019-10-23 11:24") | "2019-10-23T11:24:00Z" |
date_part | Recupera as partes da data. Os seguintes valores de componentes são suportados: "ano" "aaaa" "yy" "trimestre" "qq" "q" "mês" "mm" "m" "dayofyear" "dy" "y" "dia" "dd" "d" "semana" "ww" "w" "dia útil" "dw" "w" "hora" "hh" "hh24" "hh12" "minuto" "mi" "n" "segundo" "ss" "s" "milissegundos" "ms" |
|
date_part (COMPONENT, DATE) | date_part("MM", data("2019-10-17 11:55:12") | 10 |
set_date_part | Substitui um componente em uma determinada data. Os seguintes componentes são aceitos: "ano" "aaaa" "yy" "mês" "mm" "m" "dia" "dd" "d" "hora" "hh" "minuto" "mi" "n" "segundo" "ss" "s" |
|
set_date_part (COMPONENTE, VALOR, DATA) | set_date_part("m", 4, date("2016-11-09T11:44:44.797") | "2016-04-09T11:44:44Z" |
make_date_time | Cria uma data a partir de partes. Essa função também pode ser induzida usando make_timestamp. |
|
make_date_time (ANO, MÊS, DIA, HORA, MINUTO, SEGUNDO, NANOSECOND, TIMEZONE) | make_date_time (2019, 10, 17, 11, 55, 12, 999, "America/Los_Angeles") | 2019-10-17T11:55:12Z |
zone_date_to_utc | Converte uma data em qualquer fuso horário em uma data em UTC. |
|
zone_date_to_utc (DATE) | zone_date_to_utc​(2019-10-17T11:55:​12 PST |
2019-10-17T19:55:12Z |
zone_date_to_zone | Converte uma data de um fuso horário em outro. |
|
zone_date_to_zone (DATE, ZONE) | zone_date_to_utc​(now(), "Europe/Paris") |
2021-10-26T15:43:59Z |
{style=“table-layout:auto”}
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
is_empty | Verifica se um objeto está vazio ou não. |
|
is_empty(INPUT) | is_empty([1, 2, 3]) |
false |
arrays_to_object | Cria uma lista de objetos. |
|
arrays_to_object(INPUT) | amostra necessária | amostra necessária |
to_object | Cria um objeto com base nos pares de chave/valor simples fornecidos. |
|
to_object(INPUT) | to_object ("firstName", "John", "lastName", "Doe") | {"firstName": "John", "lastName": "Doe"} |
str_to_object | Cria um objeto a partir da string de entrada. |
|
str_to_object (STRING, VALUE_DELIMITER, FIELD_DELIMITER) | str_to_object("firstName=John,lastName=Doe,phone=123 456 7890", "=", ",") | {"firstName": "John", "lastName": "Doe", "phone": "123 456 7890"} |
contains_key | Verifica se o objeto existe nos dados de origem. Observação: Essa função substitui a função obsoleta is_set() . |
|
contains_key(INPUT) | contains_key("evars.evar.field1") | true |
nula | Define o valor do atributo como null . Isso deve ser usado quando você não deseja copiar o campo para o schema de destino. |
nullify() | nullify() | null |
|
get_keys | Analisa os pares de chave/valor e retorna todas as chaves. |
|
get_keys(OBJECT) | get_keys({"book1": "Orgulho e Preconceito", "livro2": "1984"}) | ["book1", "book2"] |
get_values | Analisa os pares de chave/valor e retorna o valor da string, com base na chave fornecida. |
|
get_values(STRING, KEY, VALUE_DELIMITER, FIELD_DELIMITER) | get_values("firstName - John , lastName - Cena , phone - 555 420 8692", "firstName", "-", ",") | John |
Para obter informações sobre o recurso de cópia de objetos, consulte a seção below.
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
coalesce | Retorna o primeiro objeto não nulo em uma matriz específica. |
|
coalesce(INPUT) | coalesce(null, null, null, "first", null, "Second") | "first" |
first | Recupera o primeiro elemento da matriz em questão. |
|
first(INPUT) | first("1", "2", "3") | "1" |
last | Recupera o último elemento da matriz. |
|
last(INPUT) | last("1", "2", "3") | "3" |
add_to_array | Adiciona elementos ao final da matriz. |
|
add_to_array (ARRAY, VALUES) | add_to_array (["a", "b"], 'c', 'd') | ["a", "b", "c", "d"] |
join_arrays | Combina os arrays uns com os outros. |
|
join_arrays (ARRAY, VALUES) | join_arrays (["a", "b"], ["c"], ["d", "e"]) | ["a", "b", "c", "d", "e"] |
to_array | Obtém uma lista de entradas e a converte em uma matriz. |
|
to_array (INCLUDE_NULLS, VALUES) | to_array(false, 1, null, 2, 3) | [1, 2, 3] |
size_of | Retorna o tamanho da entrada. |
|
size_of(INPUT) | size_of([1, 2, 3, 4]) |
4 |
upsert_array_append | Essa função é usada para anexar todos os elementos na matriz de entrada inteira ao final da matriz no Perfil. Esta função é only aplicável durante as atualizações. Se usada no contexto de inserções, essa função retorna a entrada como está. |
|
upsert_array_append(ARRAY) | upsert_array_append([123, 456]) |
[123, 456] |
upsert_array_replace | Essa função é usada para substituir elementos em uma matriz. Esta função é only aplicável durante as atualizações. Se usada no contexto de inserções, essa função retorna a entrada como está. |
|
upsert_array_replace(ARRAY, INDEX) | upsert_array_replace([123, 456], 1) |
[123, 456] |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
decodificação | Dada uma chave e uma lista de pares de valores chave nivelados como uma matriz, a função retornará o valor se a chave for encontrada ou retornará um valor padrão se estiver presente na matriz. |
|
decode(KEY, OPTIONS) | decode(stateCode, "ca", "California", "pa", "Pensilvânia", "N/A") | Se o stateCode fornecido for "ca", "Califórnia". Se o stateCode fornecido for "pa", "Pensilvânia". Se o stateCode não corresponder ao seguinte, "N/A". |
iif | Avalia uma determinada expressão booleana e retorna o valor especificado com base no resultado. |
|
iif(EXPRESSION, TRUE_VALUE, FALSE_VALUE) | iif("s".equalsIgnoreCase("S"), "True", "False") | "Verdadeiro" |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
min | Retorna o mínimo dos argumentos fornecidos. Usa ordenação natural. |
|
min(OPTIONS) | min(3, 1, 4) | 1 |
max | Retorna o máximo dos argumentos fornecidos. Usa ordenação natural. |
|
max(OPTIONS) | max(3, 1, 4) | 4 |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
to_bigint | Converte uma cadeia de caracteres em um BigInteger. |
|
to_bigint(STRING) | to_bigint ("1000000.34") | 1000000,34 |
to_decimal | Converte uma cadeia de caracteres em um Double. |
|
to_decimal(STRING) | to_decimal("20.5") | 20,5 |
to_float | Converte uma string em um Flutuante. |
|
to_float(STRING) | to_float("12.3456") | 12,34566 |
to_integer | Converte uma cadeia de caracteres em um número inteiro. |
|
to_integer(STRING) | to_integer("12") | 12 |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
json_to_object | Desserialize o conteúdo JSON da string especificada. |
|
json_to_object (STRING) | json_to_object ({"info":{"firstName":"John","lastName": "Doe"}) | Um objeto que representa o JSON. |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
uuid / guid |
Gera uma ID pseudo-aleatória. | uuid() guid() |
uuid() guid() |
7c0267d2-bb74-4e1a-9275-3bf4fcda5f4 c7016dc7-3163-43f7-afc7-2e1c9c206333 |
Role a tela para a esquerda/direita para exibir o conteúdo completo da tabela.
Função | Descrição | Parâmetros | Sintaxe | Expressão | Saída de exemplo |
---|---|---|---|---|---|
ua_os_name | Extrai o nome do sistema operacional da sequência de agente do usuário. |
|
ua_os_name (USER_AGENT) | ua_os_name ("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 como Mac OS X) AppleWebKit/534.46 (KHTML, como Gecko) Versão/5.1 Mobile/9B206 Safari/7534.48.3") | iOS |
ua_os_version_major | Extrai a versão principal do sistema operacional da sequência de agente do usuário. |
|
ua_os_version_major (USER_AGENT) | ua_os_version_major s("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 como Mac OS X) AppleWebKit/534.46 (KHTML, como Gecko) Versão/5.1 Mobile/9B206 Safari/7534.48.3") | iOS 5 |
ua_os_version | Extrai a versão do sistema operacional da sequência de agente do usuário. |
|
ua_os_version (USER_AGENT) | ua_os_version ("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 como Mac OS X) AppleWebKit/534.46 (KHTML, como Gecko) Versão/5.1 Mobile/9B206 Safari/7534.48.3") | 5.1.1. |
ua_os_name_version | Extrai o nome e a versão do sistema operacional da sequência de agente do usuário. |
|
ua_os_name_version (USER_AGENT) | ua_os_name_version ("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 como Mac OS X) AppleWebKit/534.46 (KHTML, como Gecko) Versão/5.1 Mobile/9B206 Safari/7534.48.3") | iOS 5.1.1 |
ua_agent_version | Extrai a versão do agente da sequência de agente do usuário. |
|
ua_agent_version (USER_AGENT) | ua_agent_version ("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 como Mac OS X) AppleWebKit/534.46 (KHTML, como Gecko) Versão/5.1 Mobile/9B206 Safari/7534.48.3") | 5.1. |
ua_agent_version_major | Extrai o nome do agente e a versão principal da sequência de agente do usuário. |
|
ua_agent_version_major (USER_AGENT) | ua_agent_version_major ("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 como Mac OS X) AppleWebKit/534.46 (KHTML, como Gecko) Versão/5.1 Mobile/9B206 Safari/7534.48.3") | Safari 5 |
ua_agent_name | Extrai o nome do agente da sequência de agente do usuário. |
|
ua_agent_name (USER_AGENT) | ua_agent_name ("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 como Mac OS X) AppleWebKit/534.46 (KHTML, como Gecko) Versão/5.1 Mobile/9B206 Safari/7534.48.3") | Safari |
ua_device_class | Extrai a classe do dispositivo da sequência de agente do usuário. |
|
ua_device_class (USER_AGENT) | ua_device_class ("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 como Mac OS X) AppleWebKit/534.46 (KHTML, como Gecko) Versão/5.1 Mobile/9B206 Safari/7534.48.3") | Telefone |
O recurso de cópia de objeto é aplicado automaticamente quando um objeto na origem é mapeado para um objeto no XDM. Nenhuma ação adicional é necessária para os usuários.
Você pode usar o recurso de cópia de objetos para copiar automaticamente atributos de um objeto sem fazer alterações no mapeamento. Por exemplo, se os dados de origem tiverem uma estrutura de:
address{
line1: 4191 Ridgebrook Way,
city: San Jose,
state: California
}
e uma estrutura XDM de:
addr{
addrLine1: 4191 Ridgebrook Way,
city: San Jose,
state: California
}
Em seguida, o mapeamento torna-se:
address -> addr
address.line1 -> addr.addrLine1
No exemplo acima, a variável city
e state
os atributos também são assimilados automaticamente no tempo de execução porque a função address
é mapeado para addr
. Se você criar um line2
na estrutura XDM e seus dados de entrada também contêm um line2
no address
, ele também será assimilado automaticamente sem a necessidade de alterar manualmente o mapeamento.
Para garantir que o mapeamento automático funcione, os seguintes pré-requisitos devem ser atendidos:
Se algum dos pré-requisitos não for atendido, será necessário mapear manualmente o schema de origem para o esquema XDM usando a preparação de dados.