Aplatir les structures de données imbriquées à utiliser avec des outils BI tiers
Adobe Experience Platform Query Service prend en charge le paramètre FLATTEN
lors de la connexion à une base de données par le biais d’outils BI tiers. Cette fonctionnalité aplatit les structures de données imbriquées dans des outils BI tiers pour améliorer leur utilisation et réduire la charge de travail requise pour récupérer, analyser, transformer et présenter des données.
De nombreux outils BI comme Tableau et Power BI ne prennent pas en charge les structures de données imbriquées de manière native. Le paramètre FLATTEN
supprime la nécessité de créer des vues SQL en plus de vos données pour fournir une version aplatie ou d’utiliser les tâches CTAS
ou INSERT INTO
de Query Service pour dupliquer vos jeux de données en versions aplaties lors de l’utilisation de schémas ad hoc.
Le paramètre FLATTEN
extrait la structure de chaque champ feuille dans la racine de la table et nomme le champ selon l’espace de noms d’origine. Vous pouvez ainsi utiliser la notation par points pour faire correspondre un champ à son chemin d’accès de modèle de données d’expérience (XDM) tout en préservant le contexte du champ.
Conditions préalables
L’utilisation du paramètre FLATTEN
nécessite une compréhension du fonctionnement des composants suivants d’Adobe Experience Platform :
-
Système XDM : présentation de XDM et de sa mise en œuvre dans Experience Platform.
- Création d’un schéma ad hoc : un schéma XDM avec des champs dont l’espace de noms n’est utilisé que par un seul jeu de données est appelé schéma ad hoc. Les schémas ad hoc sont utilisés dans divers workflows d’ingestion de données pour Experience Platform et pour la création de certains types de connexions source.
-
Sandbox : Experience Platform fournit des sandbox virtuels qui divisent une seule instance de Platform en environnements virtuels distincts afin de favoriser le développement et l’évolution d’applications d’expérience digitale.
-
Structures de données imbriquées : ce document fournit des exemples de création, de traitement ou de transformation de jeux de données avec des types de données complexes, y compris des structures de données imbriquées.
Connexion à une base de données à l’aide du paramètre FLATTEN connect-with-flatten
Le paramètre FLATTEN
aplatit les structures de données imbriquées dans des colonnes distinctes où le nom de l’attribut devient le nom de la colonne qui contient les valeurs de ligne. Lorsque vous utilisez des données dans des outils BI qui ne prennent pas en charge les structures de données imbriquées, ce paramètre améliore l’utilisation des schémas ad hoc et réduit la charge de travail nécessaire.
Lorsque vous vous connectez à Query Service avec le client tiers de votre choix, ajoutez le paramètre FLATTEN
au nom de la base de données. Pour plus d’informations sur la connexion à un outil BI spécifique, consultez sa documentation respective dans la présentation de la connexion des clients à Query Service. La chaîne de connexion doit contenir :
- Le nom du sandbox.
- Un signe deux-points suivi de
all
ou un identifiant de jeu de données, un identifiant d’affichage ou un nom de base de données spécifique. - Un point d’interrogation (?) suivi du mot-clé
FLATTEN
.
L’entrée doit avoir le format suivant :
{sandbox_name}:{all/ID/database_name}?FLATTEN
Voici un exemple de chaîne de connexion :
prod:all?FLATTEN
Exemple example
L’exemple de schéma utilisé dans ce guide a recours au groupe de champs standard Détails du commerce, qui utilise la structure de l’objet commerce
et la table productListItems
. Consultez la documentation XDM pour en savoir plus sur le groupe de champs Détails du commerce. Une représentation de la structure du schéma est visible dans l’image ci-dessous.
Si votre outil BI ne prend pas en charge les structures de données imbriquées, il peut être difficile de référencer des champs imbriqués s’ils contiennent des valeurs sérialisées (comme commerce
et productListItems
dans l’exemple de schéma). Ces valeurs peuvent apparaître sous la forme de parties d’un seul champ de chaîne commerce
encodée et ne sont pas inutilisables de manière réalistique.
Les valeurs suivantes représentent commerce.order.priceTotal
(3018.0), commerce.order.purchaseID
(c9b5aff9-25de-450b-98f4-4484a2170180) et commerce.purchases.value
(1.0) dans les champs imbriqués mal formatés.
("(3018.0,c9b5aff9-25de-450b-98f4-4484a2170180)","(1.0)")
En utilisant le paramètre FLATTEN
, vous pouvez accéder à des champs distincts dans votre schéma ou à des sections entières de la structure de données imbriquées à l’aide de la notation par points et de leur nom de chemin d’accès d’origine. Un exemple de ce format utilisant le group de champs commerce
est donné ci-dessous.
commerce.order.priceTotal
commerce.order.purchaseID
commerce.purchases.value
Le paramètre FLATTEN
présente certaines limites lors de l’utilisation d’autres structures de données. Vous trouverez des détails complets dans la section sur les limites.
Utiliser des guillemets pour les champs dans les requêtes quotation-marks
Les champs racine aplatis utilisent désormais la notation par points pour correspondre à leurs chemins XDM. Lorsqu’ils sont utilisés dans une requête, les champs doivent être placés entre guillemets (" ").
L’exemple SQL ci-dessous affiche le statut d’origine de la requête imbriquée :
SELECT YEAR(timestamp) AS year,
SUM(commerce.order.priceTotal) AS revenue
FROM purchase_events_dataset
WHERE commerce.purchases.value > 0
GROUP BY 1;
Lors de l’utilisation des champs de données aplaties, la requête est écrite à l’aide de la notation par points et mise entre guillemets, comme dans l’exemple ci-dessous :
SELECT YEAR(timestamp) AS year,
SUM("commerce.order.priceTotal") AS revenue
FROM purchase_events_dataset
WHERE "commerce.purchases.value" > 0
GROUP BY 1;
Limites limitations
Le paramètre FLATTEN
n’aplatit actuellement pas les structures de données suivantes :
EXPLODE
afin d’accéder aux tableaux.Pour résoudre les limites des mappages et des tableaux, vous devez utiliser les outils BI tels que l’édition SQL brute, comme les Options avancées -> Instruction SQL dans Power BI.
Les outils BI tels que l’édition SQL brute sont nécessaires pour résoudre les limites de mappages et de tableaux. Consultez le guide sur la façon d’utiliser les options avancées de Power BI pour saisir une requête SQL personnalisée dans la section Instruction SQL.
Étapes suivantes
Ce document explique comment aplatir les structures de données imbriquées pour les utiliser avec des outils BI tiers. Si vous n’avez pas encore connecté votre client, consultez la présentation de la connexion client pour obtenir une liste des clients tiers pris en charge.