Profile Query Language (PQL) är ett Experience Data Model (XDM)-kompatibelt frågespråk som har utformats för att stödja definition och körning av segmenteringsfrågor för Real-time Customer Profile data.
Den här guiden ger en allmän översikt över PQL, som beskriver riktlinjer för formatering och innehåller exempel på PQL-uttryck.
PQL-frågor har följande signatur:
({INPUT_PARAMETER_1}, {INPUT_PARAMETER_2}, ...) => {RESULT_TYPE}
Indataparametern kan vara enkel primitiv, till exempel ett booleskt värde eller en sträng, eller en mer komplex typ, till exempel ett objekt, en array eller en karta.
Det finns tre olika sätt att referera till indataparametrar i brödtexten för ett PQL-uttryck:
I exemplet nedan kan en egenskapsreferens (homeAddress
) göras direkt till den första parametern eftersom den alltid är i kontexten.
homeAddress.stateProvince = workAddress.stateProvince
I exemplet nedan refererar $1
till den första parametern. Därför refererar $2
till den andra parametern osv.
$1.homeAddress.stateProvince = $1.homeAddress.stateProvince
I exemplet nedan är Profile
ett variabelnamn som frågeförfattaren kan välja.
(Profile) => Profile.homeAddress.stateProvince = Profile.workAddress.stateProvince
PQL har stöd för följande literaltyper:
Literal | Definition | Exempel |
---|---|---|
Sträng | En datatyp som består av tecken omgivna av dubbla citattecken. | "pizza" , "jobs" , "antidisestablishmentarianism" |
Boolean | En datatyp som är antingen true eller false. | true , false |
Heltal | En datatyp som representerar ett heltal. Den kan vara positiv, negativ eller noll. | -201 , 0 , 412 |
Dubbel | En datatyp som representerar ett reellt tal. Den kan vara positiv, negativ eller noll. | -51.24 , 3.14 , 0.6942058 |
Datum | En datatyp som kan användas för att skapa datum baserat på år, månad och dag som heltalsparametrar. Det är formaterat som date(year, month, day) |
date(2020, 3, 14) |
Array | En datatyp som består av en grupp med andra literala värden. Här används hakparenteser för att gruppera och kommatecken för att avgränsa mellan olika värden. Obs! Du kan inte komma åt egenskaper direkt för objekt i en array. Om du behöver få åtkomst till en egenskap i en array är den metod som stöds select X from array where X.item = ... . PQL reserverar ordet xEvent för att referera till en array med upplevelsehändelser som är länkade till en profil. |
[1, 4, 7] , ["US", "CA"] |
Relativa tidsreferenser | Reserverade ord som kan användas för att skapa tidsstämplar och tidsintervallreferenser.
|
X.timestamp occurs before today , X.timestamp occurs last month , X.timestamp occurs <= 3 days before now |
Följande tabell visar de olika kategorierna av PQL-funktioner som stöds, inklusive länkar till ytterligare dokumentation för mer information.
Kategori | Definition |
---|---|
Boolean | Används för att implementera booleskt algebra i PQL. Mer information om de här funktionerna finns i dokumentet med booleska funktioner. |
Jämförelse | Används för att jämföra olika PQL-element. Mer information om de här funktionerna finns i dokumentet med jämförelsefunktioner. |
Array, lista och uppsättning | Används för att interagera med arrayer, listor och uppsättningar. Mer information om de här funktionerna finns i arrayen, listan och dokumentet för att ange funktioner. |
Mappa | Används för att interagera med kartor. Mer information om de här funktionerna finns i mappningsfunktionens dokument. |
Sträng | Används för att interagera med strängar. Mer information om de här funktionerna finns i strängfunktionsdokumentet. |
Objekt | Används för att interagera med objekt. Mer information om de här funktionerna finns i objektfunktionsdokumentet. |
Aritmetisk | Används för att utföra grundläggande aritmetik på PQL-element. Mer information om de här funktionerna finns i aritmetiska funktionsdokument |
Aggregera | Används för att kombinera resultat från en array till ett enda resultat. Mer information om aggregeringsfunktioner finns i dokumentet aggregeringsfunktioner. |
Datum och tid | Används tillsammans med datum-, tids- och datetime-objekt. Mer information om de här funktionerna finns i dokumentet datum-/tidsfunktioner. |
Filter | Används för att filtrera data inom arrayer. Mer information om de här funktionerna finns i filterfunktionsdokumentet. |
Logiska kvantifierare | Används för att infoga villkor i en array. Mer information finns i dokumentet logiska kvantifierare. |
Diverse | Funktioner som inte passar i någon av ovanstående kategorier finns i dokumentet med diverse funktioner. |
Nu när du har lärt dig att använda Profile Query Language kan du använda PQL när du skapar och ändrar segment. Mer information om segmentering finns i segmenteringsöversikten.