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.
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})
{ARRAY}
{EXPRESSION}
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})
{ARRAY}
{EXPRESSION}
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})
{ARRAY}
{VALUE}
{AMOUNT}
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})
{ARRAY}
{VALUE}
{AMOUNT}
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.