Profile Query Language O (PQL) é uma linguagem de consulta compatível com o Experience Data Model (XDM), projetada para oferecer suporte à definição e execução de consultas de segmentação para Real-time Customer Profile dados.
Este guia fornece uma visão geral do PQL, abordando as diretrizes de formatação e fornecendo exemplos de expressões PQL.
As consultas 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, matriz ou mapa.
Há três maneiras diferentes de fazer referência 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
se referiria ao segundo parâmetro etc.
$1.homeAddress.stateProvince = $1.homeAddress.stateProvince
No exemplo abaixo, Profile
é um nome de variável, que pode ser escolhido pelo autor da consulta.
(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 duplas. | "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 dos itens em uma matriz. Portanto, se você precisar acessar uma propriedade em uma matriz, o método suportado será select X from array where X.item = ... . A PQL reserva a palavra xEvent para se referir 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 e de intervalo.
|
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 de funções PQL compatíveis, incluindo links para outras documentações, 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 boolean functions document. |
Comparação | Usado para comparar diferentes elementos de PQL. Mais informações sobre essas funções podem ser encontradas no documento de funções de comparação. |
Matriz, lista e conjunto | Usado para interagir com arrays, listas e conjuntos. Mais informações sobre essas funções podem ser encontradas no array, list e set functions document. |
Mapa | Usado para interagir com mapas. Mais informações sobre essas funções podem ser encontradas no documento de funções de mapa. |
String | Usado para interagir com strings. Mais informações sobre essas funções podem ser encontradas no documento de funções de string. |
Objeto | Usado para interagir com objetos. Mais informações sobre essas funções podem ser encontradas no object functions document. |
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 resultados de uma matriz em um resultado singular. Mais informações sobre funções de agregação podem ser encontradas no documento de funções de agregação. |
Data e hora | Usada em conjunto com objetos date, time e datetime. Mais informações sobre essas funções podem ser encontradas no date/time functions document. |
Filtro | Usado para filtrar dados em arrays. Mais informações sobre essas funções podem ser encontradas no filter functions document. |
quantificadores lógicos | Usado para asserção de condições em um storage. Mais informações podem ser encontradas no documento dos quantificadores lógicos. |
Diversos | As funções que não se encaixam em nenhuma das categorias acima podem ser encontradas no documento de funções diversas. |
Agora que você aprendeu a usar Profile Query Language, pode usar o PQL ao criar e modificar segmentos. Para obter mais informações sobre segmentação, leia a visão geral da segmentação.