El servicio de consulta de Adobe Experience Platform es compatible con FLATTEN
al conectarse a una base de datos mediante herramientas de BI de terceros. Esta función aplana las estructuras de datos anidadas en las herramientas de BI de terceros para mejorar su uso y reducir la carga de trabajo necesaria para recuperar, analizar, transformar y crear informes de datos.
Muchas herramientas de BI como Tableau y Power BI no admiten de forma nativa estructuras de datos anidadas. La variable FLATTEN
elimina la necesidad de crear vistas SQL sobre los datos para proporcionar una versión plana o utilizar el servicio de consultas CTAS
o INSERT INTO
trabajos para duplicar los conjuntos de datos en versiones planas al usar esquemas ad hoc.
La variable FLATTEN
rellena la estructura de cada campo de hoja en la raíz de la tabla y asigna un nombre al campo después del área de nombres original. Esto le permite utilizar la notación de puntos para hacer coincidir un campo con su ruta del Modelo de datos de experiencia (XDM) preservando al mismo tiempo el contexto del campo.
Al usar la variable FLATTEN
requiere una comprensión práctica de los siguientes componentes de Adobe Experience Platform:
Sistema XDM: Información general de alto nivel sobre XDM y su implementación en Experience Platform.
Sandboxes: Experience Platform proporciona entornos limitados virtuales que dividen una sola instancia de Platform en entornos virtuales independientes para ayudar a desarrollar y desarrollar aplicaciones de experiencia digital.
Estructuras de datos anidadas: Este documento proporciona ejemplos de cómo crear, procesar o transformar conjuntos de datos con tipos de datos complejos, incluidas estructuras de datos anidadas.
La variable FLATTEN
esta configuración aplana las estructuras de datos anidadas en columnas independientes, donde el nombre del atributo se convierte en el nombre de columna que contiene los valores de fila. Al trabajar con datos en herramientas de BI que no admiten estructuras de datos anidadas, esta configuración mejora la capacidad de uso de esquemas ad hoc y reduce la carga de trabajo necesaria.
Al conectarse al servicio de consulta con el cliente de terceros elegido, añada la variable FLATTEN
estableciendo en el nombre de la base de datos. Para obtener información sobre cómo conectar una herramienta BI específica, consulte su documentación correspondiente en la información general sobre la conexión de clientes a Query Service. La cadena de conexión debe contener:
all
o un ID de conjunto de datos, ID de vista o nombre de base de datos específico.FLATTEN
palabra clave.La entrada debe tener el siguiente formato:
{sandbox_name}:{all/ID/database_name}?FLATTEN
Una cadena de conexión de ejemplo puede tener el siguiente aspecto:
prod:all?FLATTEN
El esquema de ejemplo utilizado en esta guía emplea el grupo de campos estándar Detalles del comercio, que utiliza el commerce
estructura de objetos y productListItems
matriz. Consulte la documentación de XDM para más información sobre Detalles del comercio grupo de campos. En la imagen siguiente se puede ver una representación de la estructura del esquema.
Si la herramienta BI no admite estructuras de datos anidadas, puede resultar difícil hacer referencia a campos anidados si contienen valores serializados (como commerce
y productListItems
en el esquema de ejemplo). Estos valores pueden aparecer como partes de una sola codificación commerce
y no son realistas y no se pueden utilizar.
Los siguientes valores representan commerce.order.priceTotal
(3018.0), commerce.order.purchaseID
(c9b5aff9-25de-450b-98f4-4484a2170180), y commerce.purchases.value
(1.0) en campos anidados con un formato incorrecto.
("(3018.0,c9b5aff9-25de-450b-98f4-4484a2170180)","(1.0)")
Usando la variable FLATTEN
, puede acceder a campos independientes dentro del esquema o secciones completas de la estructura de datos anidada mediante notación de puntos y su nombre de ruta original. Un ejemplo de este formato con la variable commerce
a continuación se muestra el grupo de campos.
commerce.order.priceTotal
commerce.order.purchaseID
commerce.purchases.value
La variable FLATTEN
tiene ciertas limitaciones al tratar con otras estructuras de datos. Los detalles completos se proporcionan en la sección de limitaciones.
Los campos raíz acoplados ahora utilizan la notación de puntos para coincidir con sus rutas XDM. Cuando se utiliza en una consulta, los campos deben estar entre comillas (" ").
El ejemplo SQL siguiente muestra el estado original de la consulta anidada:
SELECT YEAR(timestamp) AS year,
SUM(commerce.order.priceTotal) AS revenue
FROM purchase_events_dataset
WHERE commerce.purchases.value > 0
GROUP BY 1;
Al utilizar los campos de datos acoplados, la consulta se escribe con notación de puntos y entre comillas, como se ve a continuación:
SELECT YEAR(timestamp) AS year,
SUM("commerce.order.priceTotal") AS revenue
FROM purchase_events_dataset
WHERE "commerce.purchases.value" > 0
GROUP BY 1;
La variable FLATTEN
no aplana actualmente las siguientes estructuras de datos:
Estructura de datos | Limitation |
---|---|
Matrices | Utilice un índice de matriz explícito o la variable EXPLODE para acceder a las matrices. |
Mapas | Utilice la clave de cadena para acceder a un valor de un mapa y acceder a los mapas. |
Para resolver las limitaciones de Mapa y Matriz, debe utilizar las herramientas de BI para la edición de SQL sin procesar, como Opciones avanzadas -> Instrucción SQL en Power BI.
Las herramientas de BI, como la edición SQL sin procesar, son necesarias para resolver las limitaciones de las asignaciones y las matrices. Consulte la guía de cómo utilizar opciones avanzadas de Power BI para introducir una consulta SQL personalizada en la sección Instrucción SQL.
Este documento abarcaba cómo aplanar estructuras de datos anidadas para usarlas con herramientas de BI de terceros. Si aún no ha conectado el cliente, consulte información general sobre la conexión del cliente para obtener una lista de clientes de terceros admitidos.