Array, list en set-functies
Profile Query Language (PQL) biedt functies om interactie met arrays, lijsten en tekenreeksen eenvoudiger te maken. Meer informatie over andere functies van PQL kan in het Profile Query Language overzichtworden gevonden.
In
De functie in
wordt gebruikt om te bepalen of een item lid is van een array of lijst als een booleaanse waarde.
Formaat
{VALUE} in {ARRAY}
Voorbeeld
De volgende PQL-query definieert personen met verjaardagen in maart, juni of september.
person.birthMonth in [3, 6, 9]
Niet in
De functie notIn
wordt gebruikt om te bepalen of een item geen lid is van een array of lijst als een booleaanse waarde.
notIn
functie ** zorgt ook ervoor dat geen van beide waarde aan ongeldig is. Daarom zijn de resultaten geen exacte negatie van de functie in
.Formaat
{VALUE} notIn {ARRAY}
Voorbeeld
De volgende PQL-query definieert personen met verjaardagen die zich niet in maart, juni of september bevinden.
person.birthMonth notIn [3, 6, 9]
Doorsnede
De functie intersects
wordt gebruikt om te bepalen of twee arrays of lijsten ten minste één gemeenschappelijk lid als een booleaanse waarde hebben.
Formaat
{ARRAY}.intersects({ARRAY})
Voorbeeld
De volgende PQL-query definieert personen van wie de favoriete kleuren ten minste een van de kleuren rood, blauw of groen zijn.
person.favoriteColors.intersects(["red", "blue", "green"])
Doorsnede
De functie intersection
wordt gebruikt om de algemene leden van twee arrays of lijsten als een lijst te bepalen.
Formaat
{ARRAY}.intersection({ARRAY})
Voorbeeld
De volgende PQL-query definieert of persoon 1 en persoon 2 beide favoriete kleuren rood, blauw en groen hebben.
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]
Subset van
De functie subsetOf
wordt gebruikt om te bepalen of een specifieke array (array A) een subset is van een andere array (array B). Met andere woorden, alle elementen in array A zijn elementen van array B als een booleaanse waarde.
Formaat
{ARRAY}.subsetOf({ARRAY})
Voorbeeld
De volgende PQL-query definieert mensen die al hun favoriete steden hebben bezocht.
person.favoriteCities.subsetOf(person.visitedCities)
Superset van
De functie supersetOf
wordt gebruikt om te bepalen of een specifieke array (array A) een superset is van een andere array (array B). Met andere woorden, die array A bevat alle elementen in array B als een booleaanse waarde.
Formaat
{ARRAY}.supersetOf({ARRAY})
Voorbeeld
De volgende PQL-query definieert mensen die sushi en pizza ten minste één keer hebben gegeten.
person.eatenFoods.supersetOf(["sushi", "pizza"])
Inclusief
De functie includes
wordt gebruikt om te bepalen of een array of lijst een bepaald item als een booleaanse waarde bevat.
Formaat
{ARRAY}.includes({ITEM})
Voorbeeld
De volgende PQL-query definieert personen van wie de favoriete kleur rood bevat.
person.favoriteColors.includes("red")
Afzonderlijk
De functie distinct
wordt gebruikt om dubbele waarden uit een array of lijst als een array te verwijderen.
Formaat
{ARRAY}.distinct()
Voorbeeld
Met de volgende PQL-query worden personen opgegeven die orders in meer dan één winkel hebben geplaatst.
person.orders.storeId.distinct().count() > 1
Groeperen op
De functie groupBy
wordt gebruikt om waarden van een array of lijst te verdelen in een groep op basis van de waarde van de expressie als een kaart van unieke waarden van de groeperingsexpressie naar arrays die partities zijn van de waarde van de arrayexpressie.
Formaat
{ARRAY}.groupBy({EXPRESSION})
{ARRAY}
{EXPRESSION}
Voorbeeld
De volgende PQL-query groepeert alle bestellingen waarmee de bestelling is opgeslagen.
xEvent[type="order"].groupBy(storeId)
Filter
De functie filter
wordt gebruikt om een array of lijst te filteren op basis van een expressie als een array of lijst, afhankelijk van de invoer.
Formaat
{ARRAY}.filter({EXPRESSION})
{ARRAY}
{EXPRESSION}
Voorbeeld
De volgende PQL-query definieert alle personen die 21 jaar of ouder zijn.
person.filter(age >= 21)
Kaart
De functie map
wordt gebruikt om een nieuwe array te maken door een expressie toe te passen op elk item in een bepaalde array als een array.
Formaat
array.map(expression)
Voorbeeld
Met de volgende PQL-query wordt een nieuwe array met getallen gemaakt en wordt de waarde van de oorspronkelijke getallen in vierkantjes weergegeven.
numbers.map(square)
Eerste n
in array first-n
De functie topN
wordt gebruikt om de eerste N
-items in een array te retourneren, wanneer deze in oplopende volgorde worden gesorteerd op basis van de opgegeven numerieke expressie als een array.
Formaat
{ARRAY}.topN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Voorbeeld
De volgende PQL-query retourneert de bovenste vijf bestellingen met de hoogste prijs.
orders.topN(price, 5)
Laatste n
in array
De functie bottomN
wordt gebruikt om de laatste N
-items in een array te retourneren, wanneer deze in oplopende volgorde worden gesorteerd op basis van de opgegeven numerieke expressie als een array.
Formaat
{ARRAY}.bottomN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Voorbeeld
De volgende PQL-query retourneert de bovenste vijf bestellingen met de laagste prijs.
orders.bottomN(price, 5)
Eerste object
De functie head
wordt gebruikt om het eerste item in de array of lijst als een object te retourneren.
Formaat
{ARRAY}.head()
Voorbeeld
De volgende PQL-query retourneert de eerste van de bovenste vijf bestellingen met de hoogste prijs. Meer informatie over de topN
functie kan in eerst n
in seriesectie worden gevonden.
orders.topN(price, 5).head()
Volgende stappen
Nu u over serie, lijst, en vastgestelde functies hebt geleerd, kunt u hen binnen uw vragen van PQL gebruiken. Voor meer informatie over andere functies van PQL, te lezen gelieve het overzicht van Profile Query Language.