Profile Query Language (PQL)概述

Profile Query Language (PQL)是 Experience Data Model (XDM)兼容的查询语言,旨在支持对的区段查询的定义和执行 Real-Time Customer Profile 数据。

本指南提供了PQL的一般概述,涵盖了格式准则并提供了示例PQL表达式。

PQL查询格式

PQL查询具有以下签名:

({INPUT_PARAMETER_1}, {INPUT_PARAMETER_2}, ...) => {RESULT_TYPE}

输入参数可以是简单基元(如布尔值或字符串)或更复杂的类型(如对象、数组或映射)。

有三种不同的方法可引用PQL表达式主体中的输入参数:

隐式引用第一个参数

在以下示例中,由于第一个参数始终位于上下文中,因此属性引用(homeAddress)可直接从中获取。

homeAddress.stateProvince = workAddress.stateProvince

对第一个参数的显式引用

在以下示例中, $1 是指第一个参数。 因此, $2 将引用第二个参数等。

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

命名变量的用法,使用lambda表示法

在以下示例中, Profile 是一个变量名称,可由查询作者选择。

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

PQL文本

PQL支持以下文本类型:

文本
定义
示例
字符串
由双引号括起来的字符组成的数据类型。
"pizza""jobs""antidisestablishmentarianism"
布尔值
true或false的数据类型。
truefalse
整数
表示整数的数据类型。 它可以是正数、负数或零。
-2010412
双精度
表示任意实数的数据类型。 它可以是正数、负数或零。
-51.243.140.6942058
日期
一种数据类型,可用于基于年、月和日创建日期作为整数参数。 格式为 date(year, month, day)
date(2020, 3, 14)
数组
由一组其他文字值组成的数据类型。 它使用方括号将不同的值分组,并使用逗号分隔不同的值。
注意: 您不能直接访问数组中项目的属性。 因此,如果您需要访问数组中的属性,则支持的方法为 select X from array where X.item = ....
PQL保留单词 xEvent 以引用链接到用户档案的体验事件数组。
[1, 4, 7]["US", "CA"]
相对时间引用

可用于形成时间戳和时间间隔引用的保留字。

  • 现在,今天,昨天,明天
  • 这个,上一个,下一个
  • 之前、之后、从
  • 毫秒、秒、分钟、小时、天、周、月、年、十年、世纪/世纪、千年/千年
X.timestamp occurs before todayX.timestamp occurs last monthX.timestamp occurs <= 3 days before now

PQL函数

下表概述了不同类别的受支持PQL函数,包括指向更多文档的链接以获取更多信息。

类别
定义
布尔值
用于在PQL中实现布尔代数。 有关这些函数的更多信息,请参见 布尔函数文档.
比较
用于比较不同的PQL元素。 有关这些函数的更多信息,请参见 比较函数文档.
数组、列表和设置
用于与数组、列表和集交互。 有关这些函数的更多信息,请参见 数组、列表和设置函数文档.
地图
用于与地图交互。 有关这些函数的更多信息,请参见 映射函数文档.
字符串
用于与字符串交互。 有关这些函数的更多信息,请参见 字符串函数文档.
对象
用于与对象交互。 有关这些函数的更多信息,请参见 对象函数文档.
算术
用于对PQL元素执行基本运算。 有关这些函数的更多信息,请参见 算术函数文档
聚合
用于将阵列的结果组合成单个结果。 有关聚合函数的更多信息,请参见 聚合函数文档.
日期和时间
与date、time和datetime对象一起使用。 有关这些函数的更多信息,请参见 日期/时间函数文档.
过滤器
用于筛选数组中的数据。 有关这些函数的更多信息,请参见 筛选函数文档.
逻辑量化符
用于声明数组中的条件。 欲知更多信息,请参见 逻辑量化符文档.
其他
不符合上述任何类别的函数可在 杂项函数文档.

后续步骤

现在您已了解如何使用 Profile Query Language中,您可以在创建和修改区段定义时使用PQL。 欲知分段详情,请参阅 分段概述.

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