Profile Query Language Présentation (PQL)

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.

Formatage des requêtes 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 :

Référence implicite au premier paramètre

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

Référence explicite au premier paramètre

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

Utilisation de variables nommées, à l’aide de la notation lambda

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

Littéraux PQL

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.
  • maintenant, aujourd’hui, hier, demain
  • ceci, précédent, suivant
  • avant, après, depuis
  • milliseconde(s), seconde(s), minute(s), heure(s), jour(s), semaine(s), mois, année(s), décennie(s), siècle(s), millénaire(s)
X.timestamp occurs before today, X.timestamp occurs last month, X.timestamp occurs <= 3 days before now

Fonctions PQL

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. More information about these functions can be found in the object functions document.
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.

Étapes suivantes

Now that you've learned how to use Profile Query Language, you can use PQL when creating and modifying segments. Pour plus d’informations sur la segmentation, veuillez lire la présentation de la segmentation.

Sur cette page