Funktionen für Arrays, Listen und Sets
Profile Query Language (PQL) bietet Funktionen, die die Interaktion mit Arrays, Listen und Zeichenfolgen erleichtern. Weitere Informationen zu anderen PQL-Funktionen finden Sie in der Profile Query Language Übersicht.
Enthalten
Mit der Funktion in
wird bestimmt, ob ein Element als boolescher Wert Mitglied eines Arrays oder einer Liste ist.
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 als boolescher Wert Mitglied eines Arrays oder einer Liste 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 einen gemeinsamen Member als booleschen 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 zweier 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, alle Elemente in Array A sind Elemente von Array B als boolescher Wert.
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: Array A enthält alle Elemente in Array B als Boolescher 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 boolesch enthält.
Format
{ARRAY}.includes({ITEM})
Beispiel
Die folgende PQL-Abfrage definiert Personen, zu deren Lieblingsfarben Rot gehört.
person.favoriteColors.includes("red")
Verschieden
Die Funktion distinct
wird verwendet, um doppelte Werte aus einem Array oder einer Liste als Array zu entfernen.
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, die Partitionen des Werts des Array-Ausdrucks sind, in eine Gruppe zu unterteilen.
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 verwendet, um ein Array oder eine Liste je nach Eingabe auf der Grundlage eines Ausdrucks als Array oder Liste zu filtern.
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
Die Funktion map
wird verwendet, um ein neues Array zu erstellen, indem ein Ausdruck als Array auf jedes Element in einem bestimmten 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
wird verwendet, um die ersten N
Elemente in einem Array zurückzugeben, wenn sie in aufsteigender Reihenfolge auf der Grundlage des angegebenen numerischen Ausdrucks 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
wird verwendet, um die letzten N
Elemente in einem Array zurückzugeben, wenn sie in aufsteigender Reihenfolge auf der Grundlage des angegebenen numerischen Ausdrucks 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
Die Funktion head
wird verwendet, um das erste Element im Array oder der Liste als -Objekt zurückzugeben.
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.