Funzioni array, list e set

Profile Query Language (PQL) offre funzioni che semplificano l'interazione con array, elenchi e stringhe. Ulteriori informazioni sulle altre funzioni di PQL sono disponibili nella Profile Query Language panoramica.

In entrata

La funzione in viene utilizzata per determinare se un elemento è membro di un array o di un elenco come booleano.

Formato

{VALUE} in {ARRAY}

Esempio

La seguente query PQL definisce le persone il cui compleanno cade in marzo, giugno o settembre.

person.birthMonth in [3, 6, 9]

Non in

La funzione notIn viene utilizzata per determinare se un elemento non è un membro di un array o di un elenco come booleano.

NOTE
La funzione notIn also assicura che nessuno dei due valori sia uguale a null. Pertanto, i risultati non sono una negazione esatta della funzione in.

Formato

{VALUE} notIn {ARRAY}

Esempio

La seguente query PQL definisce gli utenti con compleanni che non sono in marzo, giugno o settembre.

person.birthMonth notIn [3, 6, 9]

Interseca

La funzione intersects viene utilizzata per determinare se due matrici o elenchi hanno almeno un membro comune come booleano.

Formato

{ARRAY}.intersects({ARRAY})

Esempio

La seguente query PQL definisce gli utenti i cui colori preferiti includono almeno uno rosso, blu o verde.

person.favoriteColors.intersects(["red", "blue", "green"])

Intersezione

La funzione intersection viene utilizzata per determinare i membri comuni di due array o elenchi come elenco.

Formato

{ARRAY}.intersection({ARRAY})

Esempio

La seguente query PQL definisce se la persona 1 e la persona 2 hanno entrambi i colori preferiti rosso, blu e verde.

person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]

Sottoinsieme di

La funzione subsetOf viene utilizzata per determinare se un array specifico (array A) è un sottoinsieme di un altro array (array B). In altre parole, che tutti gli elementi nell’array A sono elementi dell’array B come booleano.

Formato

{ARRAY}.subsetOf({ARRAY})

Esempio

La seguente query PQL definisce le persone che hanno visitato tutte le loro città preferite.

person.favoriteCities.subsetOf(person.visitedCities)

Superset di

La funzione supersetOf viene utilizzata per determinare se un array specifico (array A) è un superset di un altro array (array B). In altre parole, l’array A contiene tutti gli elementi dell’array B come booleano.

Formato

{ARRAY}.supersetOf({ARRAY})

Esempio

La seguente query PQL definisce le persone che hanno mangiato sushi e pizza almeno una volta.

person.eatenFoods.supersetOf(["sushi", "pizza"])

Include

La funzione includes viene utilizzata per determinare se un array o un elenco contiene un dato elemento come booleano.

Formato

{ARRAY}.includes({ITEM})

Esempio

La seguente query PQL definisce gli utenti il cui colore preferito include il rosso.

person.favoriteColors.includes("red")

Diverso

La funzione distinct viene utilizzata per rimuovere i valori duplicati da un array o da un elenco come array.

Formato

{ARRAY}.distinct()

Esempio

La query PQL seguente specifica gli utenti che hanno effettuato ordini in più store.

person.orders.storeId.distinct().count() > 1

Raggruppa per

La funzione groupBy viene utilizzata per suddividere i valori di un array o di un elenco in un gruppo in base al valore dell'espressione come mappa da valori univoci dell'espressione di raggruppamento ad array che sono partizioni del valore dell'espressione di matrice.

Formato

{ARRAY}.groupBy({EXPRESSION})
Argomento
Descrizione
{ARRAY}
Matrice o elenco da raggruppare.
{EXPRESSION}
Espressione che esegue il mapping di ogni elemento nell'array o nell'elenco restituito.

Esempio

La query PQL seguente raggruppa tutti gli ordini in base ai quali è stato effettuato l'ordine.

xEvent[type="order"].groupBy(storeId)

Filtro

La funzione filter viene utilizzata per filtrare un array o un elenco in base a un'espressione come array o elenco, a seconda dell'input.

Formato

{ARRAY}.filter({EXPRESSION})
Argomento
Descrizione
{ARRAY}
Matrice o elenco da filtrare.
{EXPRESSION}
Espressione in base alla quale filtrare.

Esempio

La seguente query PQL definisce tutte le persone di età pari o superiore a 21 anni.

person.filter(age >= 21)

Mappa

La funzione map viene utilizzata per creare un nuovo array applicando un'espressione a ogni elemento in un determinato array come array.

Formato

array.map(expression)

Esempio

La query PQL seguente crea una nuova matrice di numeri e quadra il valore dei numeri originali.

numbers.map(square)

Primi n nell'array first-n

La funzione topN viene utilizzata per restituire i primi N elementi in un array, se ordinati in ordine crescente in base alla data espressione numerica come array.

Formato

{ARRAY}.topN({VALUE}, {AMOUNT})
Argomento
Descrizione
{ARRAY}
Matrice o elenco da ordinare.
{VALUE}
Proprietà in cui ordinare l'array o l'elenco.
{AMOUNT}
Il numero di elementi da restituire.

Esempio

La query PQL seguente restituisce i primi cinque ordini con il prezzo più alto.

orders.topN(price, 5)

Ultimi n nell'array

La funzione bottomN viene utilizzata per restituire gli ultimi N elementi in un array, se ordinati in ordine crescente in base alla data espressione numerica come array.

Formato

{ARRAY}.bottomN({VALUE}, {AMOUNT})
Argomento
Descrizione
{ARRAY}
Matrice o elenco da ordinare.
{VALUE}
Proprietà in cui ordinare l'array o l'elenco.
{AMOUNT}
Il numero di elementi da restituire.

Esempio

La query PQL seguente restituisce i primi cinque ordini con il prezzo più basso.

orders.bottomN(price, 5)

Primo elemento

La funzione head viene utilizzata per restituire il primo elemento dell'array o dell'elenco come oggetto.

Formato

{ARRAY}.head()

Esempio

La query PQL seguente restituisce il primo dei primi cinque ordini con il prezzo più alto. Ulteriori informazioni sulla funzione topN sono disponibili nella sezione first n in array.

orders.topN(price, 5).head()

Passaggi successivi

Dopo aver appreso le funzioni array, elenco e impostazione, è possibile utilizzarle all'interno delle query PQL. Per ulteriori informazioni su altre funzioni di PQL, leggere la panoramica di Profile Query Language.

recommendation-more-help
770bc05d-534a-48a7-9f07-017ec1e14871