Profile Query Language (PQL) - översikt

Profile Query Language (PQL) är en 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ågeformatering

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:

Implicit referens till den första parametern

I exemplet nedan finns en egenskapsreferens (homeAddress) kan göras direkt till den.

homeAddress.stateProvince = workAddress.stateProvince

Explicit referens till den första parametern

I exemplet nedan $1 refererar till den första parametern. Detta resulterar i $2 skulle hänvisa till den andra parametern, osv.

$1.homeAddress.stateProvince = $1.homeAddress.stateProvince

Användning av namngivna variabler med lambda-notation

I exemplet nedan Profile är ett variabelnamn som frågeförfattaren kan välja.

(Profile) => Profile.homeAddress.stateProvince = Profile.workAddress.stateProvince

PQL-litteraler

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 komma åt en egenskap i en array är metoden som stöds alltså 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.

  • idag, i går, imorgon
  • this, last, next
  • före, efter, från
  • millisekunder, sekund(er), minut(er), timme(ar), dag(ar), vecka(er), månad(er), år, årtionde, århundraden/århundraden, millennium/millennium
X.timestamp occurs before today, X.timestamp occurs last month, X.timestamp occurs <= 3 days before now

PQL-funktioner

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 dokument 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 jämförelsefunktionsdokument.
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 -array, lista och ange funktionsdokument.
Mappa
Används för att interagera med kartor. Mer information om de här funktionerna finns i kartfunktionsdokument.
Sträng
Används för att interagera med strängar. Mer information om de här funktionerna finns i strängfunktionsdokument.
Objekt
Används för att interagera med objekt. Mer information om de här funktionerna finns i objektfunktionsdokument.
Aritmetisk
Används för att utföra grundläggande aritmetik på PQL-element. Mer information om de här funktionerna finns i aritmetiskt funktionsdokument
Aggregera
Används för att kombinera resultat från en array till ett enda resultat. Mer information om aggregeringsfunktioner finns i dokument för sammanställningsfunktioner.
Datum och tid
Används tillsammans med datum-, tids- och datetime-objekt. Mer information om de här funktionerna finns i datum/tid-funktionsdokument.
Filter
Används för att filtrera data inom arrayer. Mer information om de här funktionerna finns i filterfunktionsdokument.
Logiska kvantifierare
Används för att infoga villkor i en array. Mer information finns i dokument för logiska kvantifierare.
Diverse
Funktioner som inte passar i någon av ovanstående kategorier finns i dokument för olika funktioner.

Nästa steg

Nu när du har lärt dig hur man använder Profile Query Languagekan du använda PQL när du skapar och ändrar segmentdefinitioner. Mer information om segmentering finns i segmenteringsöversikt.

recommendation-more-help
770bc05d-534a-48a7-9f07-017ec1e14871