Profile Query Language (PQL) est un langage de requête compatible Experience Data Model (XDM) conçu pour prendre en charge la définition et l’exécution de requêtes de segmentation pour Real-time Customer Profile les données.
Ce guide présente un aperçu général de PQL, couvre les instructions de formatage et apporte des exemples d’expressions PQL.
Les requêtes PQL possèdent la signature suivante :
({INPUT_PARAMETER_1}, {INPUT_PARAMETER_2}, ...) => {RESULT_TYPE}
Le paramètre d’entrée peut être un primitif simple, comme un booléen ou une chaîne de type plus complexe, comme un objet, un tableau ou une carte.
Il existe trois manières différentes de faire référence aux paramètres d’entrée dans le corps d’une expression PQL :
Dans l’exemple ci-dessous, étant donné le premier paramètre est toujours en contexte, une référence de propriété (homeAddress
) peut y être directement associée.
homeAddress.stateProvince = workAddress.stateProvince
Dans l’exemple ci-dessous, $1
fait référence au premier paramètre. Par conséquent, $2
fait référence au deuxième paramètre, etc.
$1.homeAddress.stateProvince = $1.homeAddress.stateProvince
Dans l’exemple ci-dessous, Profile
est un nom de variable que l’auteur de la requête peut sélectionner.
(Profile) => Profile.homeAddress.stateProvince = Profile.workAddress.stateProvince
PQL prend en charge les types littéraux suivants :
Littéral | Définition | Exemple |
---|---|---|
Chaîne | Un type de données composé de caractères entourés par des guillemets doubles. | "pizza" , "jobs" , "antidisestablishmentarianism" |
Booléen | Un type de données qui est soit vrai soit faux. | true , false |
Entier | Un type de données représentant un nombre entier. Ce nombre peut être positif, négatif ou nul. | -201 , 0 , 412 |
Double | Un type de données représentant n’importe quel nombre réel. Ce nombre peut être positif, négatif ou nul. | -51.24 , 3.14 , 0.6942058 |
Date | Un type de données pouvant être utilisé pour créer des dates en fonction de l’année, du mois et du jour comme paramètres entiers. Celui-ci a la forme date(year, month, day) |
date(2020, 3, 14) |
Tableau | Un type de données composé d'un groupe d'autres valeurs littérales. Elle utilise des crochets pour regrouper et des virgules pour délimiter les différentes valeurs. Remarque : vous ne pouvez pas accéder directement aux propriétés des éléments d’un tableau. C’est pourquoi, si vous devez accéder à une propriété d’un tableau, la méthode prise en charge est select X from array where X.item = ... . PQL réserve le terme xEvent pour faire référence à un tableau d’événements d’expérience associés à un profil. |
[1, 4, 7] , ["US", "CA"] |
Références de temps relatives | Termes réservés pouvant être utilisés pour former des références de date et heure et d’intervalle de temps.
|
X.timestamp occurs before today , X.timestamp occurs last month , X.timestamp occurs <= 3 days before now |
Le tableau suivant décrit les différentes catégories des fonctions PQL prises en charge, y compris des liens vers d’autres documents pour plus d’informations.
Catégorie | Définition |
---|---|
Booléen | Utilisé pour implémenter une algèbre booléenne dans PQL. Vous trouverez plus d’informations sur ces fonctions dans la documentation consacrée aux fonctions booléennes. |
Comparaison | Utilisé pour comparer différents éléments PQL. Vous trouverez plus d’informations sur ces fonctions dans la documentation consacrée aux fonctions de comparaison. |
Tableau, liste et ensemble | Utilisé pour interagir avec des tableaux, des listes et des ensembles. Vous trouverez plus d’informations sur ces fonctions dans la documentation consacrée aux fonctions de tableau, de liste et d’ensemble. |
Map | Utilisé pour interagir avec des maps. Vous trouverez plus d’informations sur ces fonctions dans la documentation consacrée aux fonctions de mappage. |
Chaîne | Utilisé pour interagir avec des chaînes. Vous trouverez plus d’informations sur ces fonctions dans la documentation consacrée aux fonctions de chaîne. |
Objet | Utilisé pour interagir avec des objets. Vous trouverez plus d’informations sur ces fonctions dans la documentation consacrée aux fonctions d’objet. |
Arithmétique | Utilisé pour réaliser des fonctions arithmétiques de base sur des éléments PQL. Vous trouverez plus d’informations sur ces fonctions dans la documentation consacrée aux fonctions arithmétiques |
Agrégation | Utilisé pour combiner les résultats d’un tableau en un résultat unique. Vous trouverez plus d’informations sur les fonctions d’agrégation dans la documentation consacrée aux fonctions d’agrégation. |
Date et heure | Utilisé en association avec les objets date, heure et date-heure. Vous trouverez plus d’informations sur ces fonctions dans la documentation des fonctions de date/d’heure. |
Filtre | Utilisé pour filtrer les données de tableaux. Vous trouverez plus d’informations sur ces fonctions dans la documentation consacrée aux fonctions de filtre. |
Quantificateurs logiques | Utilisés pour insérer des conditions dans un tableau. Vous trouverez plus d’informations dans la documentation consacrée aux quantificateurs logiques. |
Divers | Vous trouverez des fonctions qui ne correspondent pas à l’une des catégories ci-dessus dans la documentation consacrée aux fonctions diverses. |
Maintenant que vous avez appris à utiliser Profile Query Language, vous pouvez utiliser PQL lors de la création et de la modification de segments. Pour plus d’informations sur la segmentation, veuillez lire la présentation de la segmentation.