Funktionen für Arrays, Listen und Sets

Profile Query Language (PQL) bietet Funktionen, die die Interaktion mit Arrays, Listen und Zeichenfolgen vereinfachen. Weitere Informationen zu anderen PQL-Funktionen finden Sie in der Profile Query Language Übersicht .

Enthalten

Mit der Funktion in wird bestimmt, ob ein Element einem Array oder einer Liste als boolescher Wert angehört.

Format

{VALUE} in {ARRAY}

Beispiel

Die folgende PQL-Abfrage definiert Personen, die im März, Juni oder September Geburtstag haben.

person.birthMonth in [3, 6, 9]

Nicht enthalten

Mit der Funktion notIn wird bestimmt, ob ein Element nicht Mitglied eines Arrays oder einer Liste als boolescher Wert ist.

NOTE
Die notIn-Funktion stellt außerdem sicher, dass keiner der Werte null ist. Daher sind die Ergebnisse keine exakte Negation der in-Funktion.

Format

{VALUE} notIn {ARRAY}

Beispiel

Die folgende PQL-Abfrage definiert Personen, die nicht im März, Juni oder September Geburtstag haben.

person.birthMonth notIn [3, 6, 9]

Schnittmengen

Mit der Funktion intersects wird bestimmt, ob zwei Arrays oder Listen mindestens ein gemeinsames Element als boolescher Wert aufweisen.

Format

{ARRAY}.intersects({ARRAY})

Beispiel

Die folgende PQL-Abfrage definiert Personen, deren Lieblingsfarben mindestens eine der folgenden Farben beinhalten: Rot, Blau oder Grün.

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

Schnittmenge

Mit der Funktion intersection werden die gemeinsamen Elemente von zwei Arrays oder Listen als Liste bestimmt.

Format

{ARRAY}.intersection({ARRAY})

Beispiel

Die folgende PQL-Abfrage definiert, ob unter den Lieblingsfarben von Person 1 und auch Person 2 die Farben Rot, Blau und Grün sind.

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

Teilmenge von

Mit der subsetOf-Funktion wird bestimmt, ob ein bestimmtes Array (Array A) eine Teilmenge eines anderen Arrays (Array B) ist. Mit anderen Worten, dass alle Elemente in Array A Elemente von Array B als boolescher Wert sind.

Format

{ARRAY}.subsetOf({ARRAY})

Beispiel

Die folgende PQL-Abfrage definiert Personen, die alle ihrer Lieblingsstädte besucht haben.

person.favoriteCities.subsetOf(person.visitedCities)

Obermenge

Mit der supersetOf-Funktion wird bestimmt, ob ein bestimmtes Array (Array A) eine Obermenge eines anderen Arrays (Array B) ist. Mit anderen Worten, dieses Array A enthält alle Elemente in Array B als booleschen Wert.

Format

{ARRAY}.supersetOf({ARRAY})

Beispiel

Die folgende PQL-Abfrage definiert Personen, die mindestens einmal Sushi und mindestens einmal Pizza gegessen haben.

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

Enthält

Mit der Funktion includes wird bestimmt, ob ein Array oder eine Liste ein bestimmtes Element als boolescher Wert enthält.

Format

{ARRAY}.includes({ITEM})

Beispiel

Die folgende PQL-Abfrage definiert Personen, zu deren Lieblingsfarben Rot gehört.

person.favoriteColors.includes("red")

Verschieden

Mit der Funktion distinct werden doppelte Werte aus einem Array oder einer Liste als Array entfernt.

Format

{ARRAY}.distinct()

Beispiel

Die folgende PQL-Abfrage definiert Personen, die Bestellungen in mehr als einem Geschäft aufgegeben haben.

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

Gruppieren nach

Die Funktion groupBy wird verwendet, um Werte eines Arrays oder einer Liste basierend auf dem Wert des Ausdrucks als Zuordnung von eindeutigen Werten des Gruppierungsausdrucks zu Arrays zu unterteilen, die Partitionen des Werts des Array-Ausdrucks sind.

Format

{ARRAY}.groupBy({EXPRESSION})
Argument
Beschreibung
{ARRAY}
Das zu gruppierende Array oder die zu gruppierende Liste.
{EXPRESSION}
Ein Ausdruck, der jedes Element im zurückgegebenen Array oder in der zurückgegebenen Liste zuordnet.

Beispiel

Die folgende PQL-Abfrage gruppiert alle Bestellungen anhand des Geschäfts, in dem die Bestellung aufgegeben wurde.

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

Filter

Die Funktion filter wird zum Filtern eines Arrays oder einer Liste anhand eines Ausdrucks als Array oder Liste verwendet, je nach Eingabe.

Format

{ARRAY}.filter({EXPRESSION})
Argument
Beschreibung
{ARRAY}
Das zu filternde Array oder die zu filternde Liste.
{EXPRESSION}
Ein Ausdruck, nach dem gefiltert werden soll.

Beispiel

Die folgende PQL-Abfrage definiert alle Personen, die mindestens 21 Jahre alt sind.

person.filter(age >= 21)

Zuordnung

Mit der Funktion map wird ein neues Array erstellt, indem ein Ausdruck auf jedes Element in einem Array als Array angewendet wird.

Format

array.map(expression)

Beispiel

Mit der folgenden PQL-Abfrage wird ein neues Array mit Zahlen erstellt und der Wert der Originalzahlen quadriert.

numbers.map(square)

Erste n in Array first-n

Die Funktion topN gibt die ersten N Elemente in einem Array zurück, wenn sie anhand des angegebenen numerischen Ausdrucks in aufsteigender Reihenfolge als Array sortiert werden.

Format

{ARRAY}.topN({VALUE}, {AMOUNT})
Argument
Beschreibung
{ARRAY}
Das zu sortierende Array oder die zu sortierende Liste.
{VALUE}
Die Eigenschaft, in der das Array oder die Liste sortiert werden soll.
{AMOUNT}
Die Zahl der zurückzugebenden Elemente.

Beispiel

Die folgende PQL-Abfrage gibt die fünf häufigsten Bestellungen mit dem höchsten Preis zurück.

orders.topN(price, 5)

Letzte n in Array

Die Funktion bottomN gibt die letzten N Elemente in einem Array zurück, wenn sie anhand des angegebenen numerischen Ausdrucks in aufsteigender Reihenfolge als Array sortiert werden.

Format

{ARRAY}.bottomN({VALUE}, {AMOUNT})
Argument
Beschreibung
{ARRAY}
Das zu sortierende Array oder die zu sortierende Liste.
{VALUE}
Die Eigenschaft, in der das Array oder die Liste sortiert werden soll.
{AMOUNT}
Die Zahl der zurückzugebenden Elemente.

Beispiel

Die folgende PQL-Abfrage gibt die fünf häufigsten Bestellungen mit dem niedrigsten Preis zurück.

orders.bottomN(price, 5)

Erstes Element

Mit der Funktion head wird das erste Element im Array oder in der Liste als Objekt zurückgegeben.

Format

{ARRAY}.head()

Beispiel

Die folgende PQL-Abfrage gibt die erste der fünf häufigsten Bestellungen mit dem höchsten Preis zurück. Weiterführende Informationen zur topN-Funktion finden Sie im Abschnitt Erste n in Array.

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

Nächste Schritte

Nachdem Sie sich mit array-, list- und set-Funktionen vertraut gemacht haben, können Sie diese nun in Ihren PQL-Abfragen verwenden. Weitere Informationen zu anderen PQL-Funktionen finden Sie in Profil Query Language – Übersicht.

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