Listar funções list-functions
As funções de lista permitem manipular e trabalhar com coleções de valores nas expressões de jornada. Essas funções são essenciais para filtrar, classificar, transformar e analisar matrizes e listas nas jornadas do cliente.
Use as funções de lista quando precisar:
- Filtrar e extrair itens específicos de coleções com base em critérios (filtro, getListItem)
- Classificar e organizar elementos de lista em ordem crescente ou decrescente (sort)
- Remova as duplicatas e obtenha valores exclusivos das listas (distinct, distinctWithNull)
- Verificar se existem valores em coleções (em)
- Limitar o número de itens retornados de uma lista (limit)
- Obter o tamanho de uma lista (listSize) ou transformar listas em diferentes formatos (serializeList)
- Execute operações de definição, como localizar elementos comuns entre listas (interseção)
As funções de lista fornecem ferramentas poderosas para trabalhar com estruturas de dados complexas, permitindo uma manipulação de dados sofisticada e lógica condicional com base no conteúdo da coleção.
distinct distinct
Retorna os valores ou objetos distintos de uma determinada lista. Entradas nulas são ignoradas.
distinct(<parameters>)| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| Parâmetro | Tipo | Descrição |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly ou listObject | Lista a processar. Para listObject, ele deve ser uma referência de campo. |
| keyAttributeName | sequência de caracteres | Este parâmetro é opcional e somente para listObject. Se o parâmetro não for fornecido, um objeto será considerado duplicado se todos os atributos tiverem os mesmos valores. Caso contrário, um objeto será considerado duplicado se o atributo em questão tiver o mesmo valor. |
distinct(<listInteger>)
Retorna uma lista de inteiros.
distinct(<listDecimal>)
Retorna uma lista de decimais.
distinct(<listString>)
Retorna uma lista de strings.
distinct(<listDateTimeOnly>)
Retorna uma lista de datetimes sem considerar o fuso horário.
distinct(<listDateTime>)
Retorna uma lista de datetimes.
distinct(<listDateOnly>)
Retorna uma lista de datas.
distinct(<listBoolean>)
Retorna uma lista de booleanos.
distinct(<listDuration>)
Retorna uma lista de durações.
distinct(<listObject>)
distinct(<listObject>,<string>)
Retorna uma lista de objetos.
distinct([10,2,10,null])
Retorna [10, 2].
distinctWithNull distinctWithNull
Retorna os valores ou objetos distintos de uma determinada lista. Se a lista tiver pelo menos uma entrada nula, uma entrada nula estará presente na lista retornada.
distinctWithNull(<parameters>)| table 0-row-3 1-row-3 | ||
|---|---|---|
| Parâmetro | Tipo | Descrição |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly | Lista a processar. |
distinctWithNull(<listInteger>)
Retorna uma lista de inteiros.
distinctWithNull(<listDecimal>)
Retorna uma lista de decimais.
distinctWithNull(<listString>)
Retorna uma lista de strings.
distinctWithNull(<listDateTimeOnly>)
Retorna uma lista de datetimes sem considerar o fuso horário.
distinctWithNull(<listDateTime>)
Retorna uma lista de datetimes.
distinctWithNull(<listDateOnly>)
Retorna uma lista de datas.
distinctWithNull(<listBoolean>)
Retorna uma lista de booleanos.
distinctWithNull(<listDuration>)
Retorna uma lista de durações.
distinctWithNull([10,2,10,null])
Retorna [10, 2, nulo]
Observação: o parâmetro <listObject> não tem suporte nesta função.
filtro filter
Retorna um listObject com objetos que têm o atributo de chave correspondente a um dos valores de chave fornecidos.
filter(<parameters>)| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| Parâmetro | Tipo | Descrição |
| listToFilter | listObject | lista de objetos a serem filtrados. Deve ser uma referência de campo. |
| keyAttributeName | sequência de caracteres | nome do atributo nos objetos da lista fornecida, usado como chave para filtragem |
| keyValueList | list | matriz de valores principais para filtragem |
filter(listObject, string, listString)
filter(listObject, string, listInteger)
filter(listObject, string, listDecimal)
filter(listObject, string, listDateTime)
filter(listObject, string, listDateTimeOnly)
filter(listObject, string, listDateOnly)
filter(listObject, string, listDuration)
filter(listObject, string, listBoolean)
Retorna um listObject.
Este é um exemplo de uma carga útil transmitida em um evento de entrada "myevent":
| code language-json |
|---|
|
Você pode usar a seguinte expressão:
| code language-json |
|---|
|
Retorna um listObject contendo os dois objetos com "product2" e "product3" como id.
getListItem getListItem
Retorna o item da lista no índice fornecido.
getListItem(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 | |
|---|---|
| Parâmetro | Tipo |
| list | listString |
| list | listBoolean |
| list | listInteger |
| list | listDecimal |
| list | listDuration |
| list | listDateTime |
| list | listDateTimeOnly |
| list | listDateOnly |
| índice | inteiro |
getListItem(<listInteger>,<index>)
Retorna um inteiro.
getListItem(<listDecimal>,<index>)
Retorna um decimal.
getListItem(<listString>,<index>)
Retorna uma string.
getListItem(<listDateTimeOnly>,<index>)
Retorna uma data e hora sem considerar o fuso horário.
getListItem(<listDateTime>,<index>)
Retorna um datetime.
getListItem(<listDateOnly>,<index>)
Retorna uma lista de datas.
getListItem(<listBoolean>,<index>)
Retorna um valor booleano.
getListItem(<listDuration>,<index>)
Retorna uma duração.
getListItem([10, 2, 3], 1)
Retorna "2"
getListItem(["A", "B", "C"], 2)
Retorna "C"
Exemplos com um campo de evento "event.appVersion" com valor: "20.45.2.3434"
split(@event{event.appVersion}, "\\.")
Retorna ["20", "45", "2", "3434"]
getListItem(split(@event{event.appVersion}, "\\."), 0)
Retorna "20"
no in
Verifica se o primeiro valor de argumento está na lista. A verificação é executada por meio de um valor Igual em cada argumento. Retornará true se o valor do argumento for encontrado; caso contrário, retornará false.
O tipo de <expression> deve corresponder aos itens da lista. Os tipos de itens da lista, como lembrete, devem corresponder um ao outro.
in(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 | |
|---|---|
| Parâmetro | Tipo |
| String | String |
| Booleano | Booleano |
| Número inteiro | Número inteiro |
| Decimal | Decimal |
| Duração | Duração |
| DateTime | DateTime |
| DateTimeOnly | DateTimeOnly |
| Lista | listString |
| Lista | listBoolean |
| Lista | listInteger |
| Lista | listDecimal |
| Lista | listDuration |
| Lista | listDateTime |
| Lista | listDateTimeOnly |
| Lista | listDateOnly |
in(<integer>,<listInteger>)
in(<decimal>,<listDecimal>)
in(<string>,<listString>)
in(<boolean>,<listBoolean>)
in(<dateTimeOnly>,<listDateTimeOnly>)
in(<dateTime>,<listDateTime>)
in(<dateOnly>,<listDateOnly>)
in(<duration>,<listDuration>)
Retornar um booleano.
in(4,[4,5,3,4])
Retorna verdadeiro.
in(8,[4,5,3,4])
Retorna falso.
in(#{ExperiencePlatform.ProfileFieldGroup.profile.person.gender}, ["male"])
interseção intersect
Retorna os valores comuns nas duas listas de entrada. Se uma das duas listas for nula, retorna uma lista vazia.
intersect(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parâmetro | Tipo |
| lista 1 | list |
| lista 2 | list |
intersect(listString,listString): listString
intersect(listDecimal,listDecimal): listDecimal
intersect(listInteger,listInteger): listInteger
intersect(listDateTime,listDateTime): listDateTime
intersect(listDateTimeOnly,listDateTimeOnly): listDateTimeOnly
intersect(listDateOnly,listDateOnly): listDateOnly
intersect(listDuration,listDuration): listDuration
intersect(listBoolean,listBoolean): listBoolean
Retorna uma lista.
| code language-json |
|---|
|
Retorna ["esportes", "notícias"]
| code language-json |
|---|
|
Retorna itens comuns entre atributos de perfil e determinada lista de categorias.
| code language-json |
|---|
|
Retorna itens comuns entre os atributos de perfil e o campo de evento especificado.
limite limit
Retorna o primeiro ou o último elemento N de uma lista.
limit(<parameters>)| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| Parâmetro | Tipo | Descrição |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly ou listObject | Lista a ser considerada. Para listObject, ele deve ser uma referência de campo. |
| numberOfItems | inteiro | Número de itens a serem retornados da lista fornecida. |
| firstOrLastItems | booleano | Esse parâmetro é opcional (true por padrão). true retorna os primeiros itens. false retorna os últimos itens. |
limit(<listString>,<integer>)
limit(<listString>,<integer>,<boolean>)
Retorna uma lista de strings.
limit(<listInteger>,<integer>)
limit(<listInteger>,<integer>,<boolean>)
Retorna uma lista de inteiros.
limit(<listDecimal>,<integer>)
limit(<listDecimal>,<integer>,<boolean>)
Retorna uma lista de decimais.
limit(<listBoolean>,<integer>)
limit(<listBoolean>,<integer>,<boolean>)
Retorna uma lista de booleanos.
limit(<listDateOnly>,<integer>)
limit(<listDateOnly>,<integer>,<boolean>)
Retorna uma lista de datas.
limit(<listDateTimeOnly>,<integer>)
limit(<listDateTimeOnly>,<integer>,<boolean>)
Retorna uma lista de datetimes sem considerar o fuso horário.
limit(<listDateTime>,integer>)
limit(<listDateTime>,<integer>,<boolean>)
Retorna uma lista de datetimes.
limit(<listDuration>,<integer>)
limit(<listDuration>,<integer>,<boolean>)
Retorna uma lista de durações.
limit(<listObject>,<integer>)
limit(<listObject>,<integer>,<boolean>)
Retorna uma lista de objetos.
limit(["A", "B", "C", "D", "E"], 3)
Retorna ["A","B","C"].
limit(["A", "B", "C", "D", "E"], 3, false)
Retorna ["C","D","E"].
listSize listSize
Conta o número de elementos na lista.
listSize(<parameters>)| table 0-row-3 1-row-3 | ||
|---|---|---|
| Parâmetro | Tipo | Descrição |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly ou listObject | Lista a processar. Para listObject, ele deve ser uma referência de campo. Um listObject não pode conter um objeto nulo. |
listSize(<listInteger>)
listSize(<listDecimal>)
listSize(<listString>)
listSize(<listBoolean>)
listSize(<listDateTimeOnly>)
listSize(<listDateTime>)
listSize(<listDateOnly>)
listSize(<listDuration>)
Retorna um número inteiro.
listSize(<listObject>)
listSize([10,2,3])
Retorna 3.
listSize(@event{my_event.productListItems})
Retorna o número de objetos na matriz de objetos fornecida (tipo listObject).
serializeList serializeList
Converte uma determinada lista (qualquer tipo, exceto listObject) em uma cadeia de caracteres.
serializeList(<parameters>)| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| Parâmetro | Tipo | Descrição |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly | Lista para converter em uma cadeia de caracteres. |
| separador | sequência de caracteres | Separador entre cada elemento da lista na cadeia de caracteres de saída. |
| addQuotes | booleano | Esse parâmetro indica se cada elemento na string de saída deve incluir aspas (true) ou não (false). |
serializeList(<listInteger>,<string>,<boolean>)
serializeList(<listDecimal>,<string>,<boolean>)
serializeList(<listString>,<string>,<boolean>)
serializeList(<listBoolean>,<string>,<boolean>)
serializeList(<listDateTimeOnly>,<string>,<boolean>)
serializeList(<listDateTime>,<string>,<boolean>)
serializeList(<listDateOnly>,<string>,<boolean>)
serializeList(<listDuration>,<string>,<boolean>)
Retorna uma string.
serializeList(["Hello","World"], " ", false)
Retorna "Olá, Mundo".
serializeList(["Hello", "World"], ",", true)
Retorna ""Olá","Mundo"".
sort sort
Classifica uma lista de valores ou objetos na ordem natural.
sort(<parameters>)| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| Parâmetro | Tipo | Descrição |
| listToSort | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly ou listObject | Lista para classificar. Para listObject, ele deve ser uma referência de campo. |
| keyAttributeName | sequência de caracteres | Este parâmetro é somente para listObject. O nome do atributo nos objetos da lista fornecida é usado como chave para classificação. |
| sortingOrder | booleano | Crescente (verdadeiro) ou decrescente (falso) |
sort(<listInteger>,<boolean>)
Retorna uma lista de inteiros.
sort(<listDecimal>,<boolean>)
Retorna uma lista de decimais.
sort(<listString>,<boolean>)
Retorna uma lista de strings.
sort(<listDateTimeOnly>,<boolean>)
Retorna uma lista de datetimes sem considerar o fuso horário.
sort(<listDateTime>,<boolean>)
Retorna uma lista de datetimes.
sort(<listDateOnly>,<boolean>)
Retorna uma lista de datas.
sort(<listBoolean>,<boolean>)
Retorna uma lista de booleanos.
sort(<listObject>,<string>,<boolean>)
Retorna uma lista de objetos.
sort(["A", "C", "B"], true)
Retorna ["A","B","C"].
sort([1, 3, 2], false)
Retorna [3, 2, 1].
sort(@event{my_event.productListItems}, "SKU", true)
Retorna o listObject ordenado pelo atributo SKU (ordem crescente)