Array-, list- och set-funktioner
Profile Query Language (PQL) erbjuder funktioner som gör det enklare att interagera med arrayer, listor och strängar. Mer information om andra PQL-funktioner finns i Profile Query Language översikten.
I
Funktionen in
används för att avgöra om ett objekt är medlem i en matris eller lista som ett booleskt värde.
Format
{VALUE} in {ARRAY}
Exempel
Följande PQL-fråga definierar personer med födelsedagar i mars, juni eller september.
person.birthMonth in [3, 6, 9]
Inte i
Funktionen notIn
används för att avgöra om ett objekt inte är medlem i en matris eller lista som booleskt värde.
notIn
-funktionen ser också till att inget av värdena är lika med null. Resultatet är därför inte en exakt negation av funktionen in
.Format
{VALUE} notIn {ARRAY}
Exempel
Följande PQL-fråga definierar personer med födelsedagar som inte infaller i mars, juni eller september.
person.birthMonth notIn [3, 6, 9]
Överlappningar
Funktionen intersects
används för att avgöra om två arrayer eller listor har minst en gemensam medlem som boolesk.
Format
{ARRAY}.intersects({ARRAY})
Exempel
Följande PQL-fråga definierar personer vars favoritfärger innehåller minst en röd, blå eller grön färg.
person.favoriteColors.intersects(["red", "blue", "green"])
Skärningspunkt
Funktionen intersection
används för att bestämma de gemensamma medlemmarna i två arrayer eller listor som en lista.
Format
{ARRAY}.intersection({ARRAY})
Exempel
Följande PQL-fråga definierar om person 1 och person 2 båda har favoritfärgerna rött, blått och grönt.
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]
Delmängd av
Funktionen subsetOf
används för att avgöra om en viss array (array A) är en delmängd av en annan array (array B). Det vill säga att alla element i array A är element i array B som booleska.
Format
{ARRAY}.subsetOf({ARRAY})
Exempel
Följande PQL-fråga definierar personer som har besökt alla sina favoritstäder.
person.favoriteCities.subsetOf(person.visitedCities)
Supermängd till
Funktionen supersetOf
används för att avgöra om en viss array (array A) är en överordnad mängd till en annan array (array B). Arrayen A innehåller alltså alla element i array B som booleska.
Format
{ARRAY}.supersetOf({ARRAY})
Exempel
Följande PQL-fråga definierar personer som har ätit sushi och pizza minst en gång.
person.eatenFoods.supersetOf(["sushi", "pizza"])
Inkluderar
Funktionen includes
används för att avgöra om en array eller lista innehåller ett givet objekt som ett booleskt värde.
Format
{ARRAY}.includes({ITEM})
Exempel
Följande PQL-fråga definierar personer vars favoritfärg är röd.
person.favoriteColors.includes("red")
Distinkt
Funktionen distinct
används för att ta bort dubblettvärden från en array eller lista som en array.
Format
{ARRAY}.distinct()
Exempel
Följande PQL-fråga anger personer som har lagt order i mer än en butik.
person.orders.storeId.distinct().count() > 1
Gruppera efter
Funktionen groupBy
används för att partitionera värden för en matris eller lista i en grupp baserat på värdet för uttrycket som en mappning från unika värden för grupperingsuttrycket till matriser som är partitioner av värdet för matrisuttrycket.
Format
{ARRAY}.groupBy({EXPRESSION})
{ARRAY}
{EXPRESSION}
Exempel
Följande PQL-fråga grupperar alla order som lagrar ordern på.
xEvent[type="order"].groupBy(storeId)
Filter
Funktionen filter
används för att filtrera en array eller lista baserat på ett uttryck som en array eller lista, beroende på indata.
Format
{ARRAY}.filter({EXPRESSION})
{ARRAY}
{EXPRESSION}
Exempel
Följande PQL-fråga definierar alla personer som är 21 eller äldre.
person.filter(age >= 21)
Karta
Funktionen map
används för att skapa en ny array genom att tillämpa ett uttryck på varje objekt i en given array som en array.
Format
array.map(expression)
Exempel
Följande PQL-fråga skapar en ny array med siffror och fyrkantiger värdet för de ursprungliga talen.
numbers.map(square)
Första n
i matris first-n
Funktionen topN
används för att returnera de första N
objekten i en array, sorterade i stigande ordning baserat på det angivna numeriska uttrycket som en array.
Format
{ARRAY}.topN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Exempel
Följande PQL-fråga returnerar de fem främsta beställningarna med det högsta priset.
orders.topN(price, 5)
Senaste n
i matris
Funktionen bottomN
används för att returnera de sista N
objekten i en array, sorterade i stigande ordning baserat på det angivna numeriska uttrycket som en array.
Format
{ARRAY}.bottomN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Exempel
Följande PQL-fråga returnerar de fem främsta beställningarna med det lägsta priset.
orders.bottomN(price, 5)
Första objektet
Funktionen head
används för att returnera det första objektet i arrayen eller listan som ett objekt.
Format
{ARRAY}.head()
Exempel
Följande PQL-fråga returnerar den första av de fem främsta beställningarna med det högsta priset. Mer information om funktionen topN
finns i avsnittet first n
i array.
orders.topN(price, 5).head()
Nästa steg
Nu när du har lärt dig mer om arrayer, listor och inställningsfunktioner kan du använda dem i dina PQL-frågor. Mer information om andra PQL-funktioner finns i Profile Query Language-översikten.