Profile Query Language (PQL) é uma linguagem de query compatível com Experience Data Model (XDM), projetada para suportar a definição e execução de query de segmentação para Real-time Customer Profile dados.
Este guia fornece uma visão geral do PQL, abrangendo diretrizes de formatação e fornecendo expressões de exemplo do PQL.
Os query PQL têm a seguinte assinatura:
({INPUT_PARAMETER_1}, {INPUT_PARAMETER_2}, ...) => {RESULT_TYPE}
O parâmetro de entrada pode ser um primitivo simples, como um booleano ou uma string, ou um tipo mais complexo, como um objeto, uma matriz ou um mapa.
Há três maneiras diferentes de se referir aos parâmetros de entrada no corpo de uma expressão PQL:
No exemplo abaixo, como o primeiro parâmetro está sempre no contexto, uma referência de propriedade (homeAddress
) pode ser feita diretamente a ela.
homeAddress.stateProvince = workAddress.stateProvince
No exemplo abaixo, $1
se refere ao primeiro parâmetro. Como resultado, $2
faria referência ao segundo parâmetro etc.
$1.homeAddress.stateProvince = $1.homeAddress.stateProvince
No exemplo abaixo, Profile
há um nome de variável, que pode ser escolhido pelo autor do query.
(Profile) => Profile.homeAddress.stateProvince = Profile.workAddress.stateProvince
O PQL oferece suporte para os seguintes tipos literais:
Literal | Definição | Exemplo |
---|---|---|
String | Um tipo de dados composto por caracteres entre aspas de duplo. | "pizza" , "jobs" , "antidisestablishmentarianism" |
Booleano | Um tipo de dados verdadeiro ou falso. | true , false |
Número inteiro | Um tipo de dados que representa um número inteiro. Pode ser positivo, negativo ou zero. | -201 , 0 , 412 |
Duplo | Um tipo de dados que representa qualquer número real. Pode ser positivo, negativo ou zero. | -51.24 , 3.14 , 0.6942058 |
Data | Um tipo de dados que pode ser usado para criar datas com base em ano, mês e dia como parâmetros inteiros. É formatado como date(year, month, day) |
date(2020, 3, 14) |
Matriz | Um tipo de dados que é composto como um grupo de outros valores literais. Ele usa colchetes para agrupar e vírgulas para delimitar entre valores diferentes. Observação: Não é possível acessar diretamente as propriedades de itens em uma matriz. Portanto, se você precisar acessar uma propriedade em um storage, o método suportado será select X from array where X.item = ... . O PQL reserva a palavra xEvent para fazer referência a uma matriz de eventos de experiência vinculados a um perfil. |
[1, 4, 7] , ["US", "CA"] |
Referências de tempo relativas | Palavras reservadas que podem ser usadas para formar referências de carimbo de data e hora.
|
X.timestamp occurs before today , X.timestamp occurs last month , X.timestamp occurs <= 3 days before now |
A tabela a seguir descreve as diferentes categorias das funções PQL suportadas, incluindo links para documentação adicional para obter mais informações.
Categoria | Definição |
---|---|
Booleano | Usada para implementar álgebra booleana no PQL. Mais informações sobre essas funções podem ser encontradas no documento de funçõesbooleanas. |
Comparação | Usado para comparar entre elementos PQL diferentes. Mais informações sobre essas funções podem ser encontradas no documento de funções decomparação. |
Matriz, lista e definido | Usado para interagir com arrays, listas e conjuntos. Mais informações sobre essas funções podem ser encontradas no documento de funçõesarray, lista e set. |
Mapa | Costumava interagir com mapas. Mais informações sobre essas funções podem ser encontradas no documento de funções domapa. |
String | Costumava interagir com cordas. Mais informações sobre essas funções podem ser encontradas no documento de funções destring. |
Objeto | Usado para interagir com objetos. Mais informações sobre essas funções podem ser encontradas no documento de funções doobjeto. |
Aritmética | Usado para executar aritmética básica em elementos PQL. Mais informações sobre essas funções podem ser encontradas no documento de funções aritméticas |
Agregação | Usado para combinar os resultados de uma matriz em um resultado singular. Mais informações sobre as funções de agregação podem ser encontradas no documento das funções deagregação. |
Data e hora | Usado em conjunto com objetos date, time e datetime. Mais informações sobre essas funções podem ser encontradas no documento de funções dedata/hora. |
Filtro | Usado para filtrar dados em arrays. Mais informações sobre essas funções podem ser encontradas no documento de funções defiltro. |
Quantificadores lógicos | Usado para afirmar as condições em um storage. Mais informações podem ser encontradas no documento de quantificadoreslógicos. |
Diversos | As funções que não se encaixam em nenhuma das categorias acima podem ser encontradas no documento de funçõesdiversas. |
Agora que você aprendeu a usar Profile Query Language, é possível usar o PQL ao criar e modificar segmentos. Para obter mais informações sobre segmentação, leia a visão geral dasegmentação.