(Alpha) Ejemplo de expresiones PQL para atributos calculados

IMPORTANTE

La funcionalidad de atributo computado está actualmente en alfa y no está disponible para todos los usuarios. La documentación y las funciones están sujetas a cambios.

En Adobe Experience Platform, los atributos calculados son funciones que se utilizan para acumular datos de nivel de evento en atributos de nivel de perfil. Estas funciones se calculan automáticamente para que se puedan utilizar en toda la segmentación, activación y personalización. Cada atributo calculado se define con información básica, como un nombre y una descripción, la clase de esquema y la ruta al campo en el que se va a mantener el valor y una expresión, cuyo valor calculado es el valor que desea almacenar en el atributo calculado.

Las expresiones utilizadas en los atributos calculados se crean utilizando Profile Query Language (PQL), un lenguaje de consulta compatible con el Modelo de datos de experiencia (XDM) diseñado para admitir la definición y ejecución de consultas para datos del Perfil del cliente en tiempo real.

Actualmente, los atributos calculados admiten las siguientes funciones: sum, count, min, max y booleano. Esta guía describe algunas de las expresiones de PQL más utilizadas que puede utilizar al definir sus propios atributos calculados para su organización. Para obtener más información sobre PQL y vínculos a directrices de formato adicionales y muestras de consultas admitidas, visite PQL overview.

Expresiones de flujo continuo

La tabla siguiente proporciona detalles para las expresiones de consulta más utilizadas que se admiten en el modo de flujo continuo.

Descripción Expresión PQL Tipo de entrada:
Perfil o evento de experiencia (EE[])
Tipo de resultado
Recuento de descargas de imágenes en los últimos 7 días. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="download" y contentType = "image"].count() Perfil y EE[] Número entero
Suma del gasto de los clientes en productos deportivos en los últimos 7 días. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="transaction" y category = "sporting products"].sum(commerce.order.priceTotal) Perfil y EE[] Número entero o doble
Gasto promedio de los clientes en productos deportivos en los últimos 7 días.

Nota: Requiere la creación de tres atributos calculados.
ca1: xEvent[ (la marca de tiempo se produce < 7="" days="" before="" now="">.sum(commerce.order.priceTotal)

ca2: xEvent[(la marca de tiempo se produce < 7="" days="" before="" now="">.count()

ca3: ca1 / ca2]]
Perfil y EE[] Duplicada
¿El cliente ha gastado más de 100 dólares en artículos deportivos los últimos 7 días?

Nota: Requiere la creación de dos atributos calculados.
ca1: xEvent[ (la marca de tiempo se produce < 7="" days="" before="" now="">.sum(commerce.order.priceTotal)

ca2: ca1 > 100]
Perfil y EE[] Booleano
¿El cliente ha realizado una compra en los últimos 7 días? chain(xEvent, timestamp, [A: QUÉ(eventType = "transaction") CUANDO(< 7 días antes)]) Perfil y EE[] Booleano
El menor gasto del usuario en productos deportivos en los últimos 7 días. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="transaction" y category = "sporting products"].min(commerce.order.priceTotal) Perfil y EE[] Número entero o doble
El mayor gasto del usuario en productos deportivos en los últimos 7 días. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="transaction" y category = "sporting products"].max(commerce.order.priceTotal) Perfil y EE[] Número entero o doble
Recuento de descargas de cada producto descargado, en los últimos 7 días, indexado por producto. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="download"].groupBy(product).map((K, G) => mapEntry(K, G.count())) Perfil y EE[] Map[String, Integer]
Suma de propiedad numérica sobre las descargas de cada producto descargado, en los últimos 7 días, indexado por producto. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="download"].groupBy(product).map((K, G) => mapEntry(K, G.sum(commerce.order.priceTotal)) Perfil y EE[] Map[String, Integer] o Map[String, Double]
Promedio de propiedad numérica sobre las descargas de cada producto descargado, en los últimos 7 días, indexado por producto.

Nota: Requiere la creación de tres atributos calculados.
ca1: xEvent[(la marca de tiempo se produce < 7="" days="" before="" now="">.groupBy(product).map((K, G) => mapEntry(K, G.sum(commerce.order.priceTotal)))

ca2: xEvent[(la marca de tiempo se produce < 7="" days="" before="" now="">.groupBy(product).map((K, G) => mapEntry(K, G.count())))

ca3: ca2 / ca1]]
Perfil y EE[] Map[String, Double]
Mínimo de propiedad numérica sobre las descargas de cada producto descargado, en los últimos 7 días, indexado por producto. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="download"].groupBy(product).map((K, G) => mapEntry(K, G.min(commerce.order.priceTotal)) Perfil y EE[] Map[String, Integer] o Map[String, Double]
Máximo de propiedad numérica sobre las descargas de cada producto descargado, en los últimos 7 días, indexado por producto. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="download"].groupBy(product).map((K, G) => mapEntry(K, G.max(commerce.order.priceTotal)) Perfil y EE[] Map[String, Integer] o Map[String, Double]
Expresión numérica en el perfil, sin referencia a eventos. if(person.gender = "women", 60, 65) Perfil Número entero o doble
Expresión booleana en el perfil, sin referencia a eventos. person.birthYear >= 2000 Perfil Booleano
Expresión de cadena en el perfil, sin referencia a eventos. if(homeAddress.countryCode en ["US","MX","CA"], "NA", "ROW") Perfil Cadena

Expresiones por lotes

La siguiente tabla proporciona detalles para expresiones de consulta que solo están disponibles en modo por lotes, lo que significa que actualmente no están disponibles en flujo continuo.

Descripción Expresión PQL Tipo de entrada:
Perfil o evento de experiencia (EE[])
Tipo de resultado
Indica si la suma de expresiones numéricas sobre las descargas de productos en los últimos 7 días supera los 100, indexados por producto. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="download"].groupBy(product).map((K, G) => mapEntry(K, G.sum(commerce.order.priceTotal) > 100) Perfil y EE[] Map[String, Boolean]
Indica si el promedio de expresión numérica sobre las descargas de productos en los últimos 7 días supera los 100, indexados por producto. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="download"].groupBy(product).map((K, G) => mapEntry(K, G.average(commerce.order.priceTotal) > 100) Perfil y EE[] Map[String, Boolean]
Acumulación de varias métricas para cada producto descargado, en los últimos 7 días, indexado por producto. xEvent[(la marca de tiempo se produce < 7 días antes) y eventType="download"].groupBy(product).map((K, G) => mapEntry(K, {"count": G.count(), "sum": G.sum(commerce.order.priceTotal)}) Perfil y EE[] Map[String, Object] donde Object es un tipo XDM personalizado

En esta página