Profile Query Language (PQL) ist eine Experience Data Model (XDM)-konforme Abfragesprache, die die Definition und Ausführung von Segmentierungsabfragen für Real-time Customer Profile Daten unterstützt.
Dieses Handbuch bietet einen allgemeinen Überblick über PQL, einschließlich Formatierungsrichtlinien und Beispielausdrücken für PQLs.
PQL-Abfragen haben die folgende Signatur:
({INPUT_PARAMETER_1}, {INPUT_PARAMETER_2}, ...) => {RESULT_TYPE}
Der Eingabeparameter kann ein einfaches Primitiv sein, z. B. ein boolescher Wert, eine Zeichenfolge oder ein komplexerer Typ, z. B. ein Objekt, ein Array oder eine Zuordnung.
Es gibt drei verschiedene Möglichkeiten, auf Eingabeparameter im Text eines PQL-Ausdrucks zu verweisen:
Im folgenden Beispiel kann, da der erste Parameter immer im Kontext enthalten ist, direkt ein Eigenschaftsverweis (homeAddress
) erstellt werden.
homeAddress.stateProvince = workAddress.stateProvince
Im folgenden Beispiel bezieht sich $1
auf den ersten Parameter. $2
verweist daher auf den zweiten Parameter usw.
$1.homeAddress.stateProvince = $1.homeAddress.stateProvince
Im folgenden Beispiel ist Profile
ein Variablenname, der vom Abfrageautor ausgewählt werden kann.
(Profile) => Profile.homeAddress.stateProvince = Profile.workAddress.stateProvince
PQL unterstützt die folgenden Literaltypen:
Literal | Definition | Beispiel |
---|---|---|
Zeichenfolge | Ein Datentyp, der aus Zeichen besteht, die von doppelten Anführungszeichen umgeben sind. | "pizza" , "jobs" , "antidisestablishmentarianism" |
Boolesch | Ein Datentyp, der entweder „true“ oder „false“ ist. | true , false |
Ganzzahl | Ein Datentyp, der eine ganze Zahl darstellt. Sie kann positiv, negativ oder null sein. | -201 , 0 , 412 |
Double | Ein Datentyp, der eine beliebige reale Zahl darstellt. Sie kann positiv, negativ oder null sein. | -51.24 , 3.14 , 0.6942058 |
Datum | Ein Datentyp, mit dem Datumswerte basierend auf Jahr, Monat und Tag als Ganzzahlparameter erstellt werden können. Sie ist als date(year, month, day) formatiert |
date(2020, 3, 14) |
Array | Ein Datentyp, der aus einer Gruppe anderer Literalwerte besteht. Zur Gruppierung werden eckige Klammern und Kommas verwendet, um zwischen verschiedenen Werten zu trennen. Hinweis: Sie können nicht direkt auf die Eigenschaften von Elementen in einem Array zugreifen. Wenn Sie also auf eine Eigenschaft in einem Array zugreifen müssen, wird die Methode select X from array where X.item = ... unterstützt. PQL behält sich das Wort xEvent zum Verweisen auf eine Reihe von Erlebnisereignissen vor, die mit einem Profil verknüpft sind. |
[1, 4, 7] , ["US", "CA"] |
Relative Zeitreferenzen | Reservierte Wörter, die verwendet werden können, um Zeitstempel und Zeitintervallverweise zu bilden.
|
X.timestamp occurs before today , X.timestamp occurs last month , X.timestamp occurs <= 3 days before now |
In der folgenden Tabelle sind die verschiedenen Kategorien unterstützter PQL-Funktionen aufgeführt, einschließlich Links zu weiteren Dokumentationen mit weiteren Informationen.
Kategorie | Definition |
---|---|
Boolesch | Wird verwendet, um boolesche Algebra in PQL zu implementieren. Weitere Informationen zu diesen Funktionen finden Sie im Dokument boolesche Funktionen. |
Vergleich | Dient zum Vergleich zwischen verschiedenen PQL-Elementen. Weitere Informationen zu diesen Funktionen finden Sie im Dokument Vergleichsfunktionen. |
Array, Liste und Satz | Wird für die Interaktion mit Arrays, Listen und Sets verwendet. Weitere Informationen zu diesen Funktionen finden Sie im Dokument Array-, Listen- und Set-Funktionen. |
Zuordnung | Wird für die Interaktion mit Karten verwendet. Weitere Informationen zu diesen Funktionen finden Sie im Dokument Zuordnungsfunktionen. |
Zeichenfolge | Wird zur Interaktion mit Zeichenfolgen verwendet. Weitere Informationen zu diesen Funktionen finden Sie im Dokument Zeichenfolgen-Funktionen. |
Objekt | Wird für die Interaktion mit Objekten verwendet. Weitere Informationen zu diesen Funktionen finden Sie im Dokument Objektfunktionen. |
Arithmetisch | Wird verwendet, um grundlegende Berechnungen für PQL-Elemente durchzuführen. Weitere Informationen zu diesen Funktionen finden Sie im Dokument Arithmetische Funktionen . |
Aggregation | Wird verwendet, um Ergebnisse eines Arrays in einem einzelnen Ergebnis zu kombinieren. Weitere Informationen zu Aggregationsfunktionen finden Sie im Dokument Aggregationsfunktionen. |
Datum und Uhrzeit | Wird zusammen mit Datums-, Uhrzeit- und Datum/Uhrzeit-Objekten verwendet. Weitere Informationen zu diesen Funktionen finden Sie im Dokument Datums-/Uhrzeitfunktionen. |
Filter | Dient zum Filtern von Daten innerhalb von Arrays. Weitere Informationen zu diesen Funktionen finden Sie im Dokument Filterfunktionen. |
Logische Quantoren | Wird verwendet, um Bedingungen in einem Array zu erteilen. Weitere Informationen finden Sie im Dokument Logische Quantifizierer. |
Sonstiges | Funktionen, die nicht in eine der oben genannten Kategorien passen, finden Sie im Dokument Verschiedene Funktionen. |
Nachdem Sie gelernt haben, wie Sie Profile Query Language verwenden, können Sie PQL beim Erstellen und Ändern von Segmenten verwenden. Weitere Informationen zur Segmentierung finden Sie in der Segmentierungsübersicht.