Show Menu
SUJETS×

Utiliser des tableaux d’objets

Certains schémas de plateforme peuvent avoir des tableaux d’objets. Un des exemples les plus courants est celui du panier, qui contient plusieurs produits. Chaque produit a un nom, un SKU, une catégorie, un prix, une quantité et toute autre dimension dont vous souhaitez effectuer le suivi. Toutes ces facettes ont des exigences distinctes, mais doivent toutes tenir dans le même accès.
Dans les versions précédentes d’Adobe Analytics, cet exploit a été accompli à l’aide de la variable products . Il s’agissait d’une chaîne concaténée séparée par des points-virgules ( ; ) pour séparer les facettes d’un produit, tandis que des virgules ( , ) délimitaient les produits. C’était la seule variable avec une prise en charge limitée des « tableaux d’objets ». Les variables à plusieurs valeurs, telles que les variables de liste, peuvent prendre en charge l’équivalent de tableaux, mais elles ne peuvent pas prendre en charge les « tableaux d’objets ». CJA développe ce concept en prenant en charge des hiérarchies arbitrairement profondes dans une seule ligne de données, une fonctionnalité qui n’est disponible dans aucune version précédente d’Adobe Analytics.

Exemple de même accès

L’accès suivant est un objet JSON qui représente l’achat qu’un client a fait d’une machine à laver et d’un sèche-linge.
{
  "ID": "1", 
  "product": [
    {
      "SKU": "1234", 
      "category": "Washing Machines", 
      "name": "LG Washing Machine 2000", 
      "orders": 1, 
      "revenue": 1600, 
      "units": 1,
      "order_id":"abc123", 
      "warranty": [
        {
          "coverage": "full coverage", 
          "length": "2 year", 
          "name": "LG 2000 standard", 
          "orders": 1, 
          "revenue": 200
        }, 
        {
          "coverage": "extended", 
          "length": "1 year", 
          "orders": 1, 
          "revenue": 50, 
          "type": "LG 2000 addon"
        }
      ]
    }, 
    {
      "SKU": "4567", 
      "category": "Dryers", 
      "name": "LG Dryer 2000", 
      "orders": 1, 
      "revenue": 500, 
      "units": 1
    }
  ], 
  "timestamp": 1534219229
}

Lors de la création d’une vue de données, les dimensions et mesures suivantes sont disponibles (en fonction du schéma) :
  • Dimensions :
    • ID
    • produit : SKU
    • produit : nom
    • produit : id_commande
    • produit : garantie : couverture
    • produit : garantie : durée
    • produit : garantie : nom
    • produit : garantie : type
  • Mesures :
    • produit : commandes
    • produit : unités
    • produit : chiffre d’affaires
    • produit : garantie
    • produit : garantie : chiffre d’affaires

Exemples d’accès identiques (comportement des rapports)

En utilisant uniquement l’accès ci-dessus, les tableaux suivants montrent les rapports Workspace avec certaines combinaisons de dimensions et de mesures.
product : name
product : orders
product : revenue
LG Washing Machine 2000
1
1600
LG Dryer 2000
1
500
Total
1
2100
CJA examine de manière sélective la dimension et les mesures de l’objet en fonction du tableau.
{
  "ID": "1", 
+  "product": [
+    {
      "SKU": "1234", 
      "category": "Washing Machines", 
+      "name": "LG Washing Machine 2000", 
+      "orders": 1, 
+      "revenue": 1600, 
      "units": 1,
      "order_id":"abc123", 
      "warranty": [
        {
          "coverage": "full coverage", 
          "length": "2 year", 
          "name": "LG 2000 standard", 
          "orders": 1, 
          "revenue": 200
        }, 
        {
          "coverage": "extended", 
          "length": "1 year", 
          "orders": 1, 
          "revenue": 50, 
          "type": "LG 2000 addon"
        }
      ]
+    }, 
+    {
      "SKU": "4567", 
      "category": "Dryers", 
+      "name": "LG Dryer 2000", 
+      "orders": 1, 
+      "revenue": 500, 
      "units": 1
+    }
+  ], 
+  "timestamp": 1534219229
+}

Si vous souhaitez obtenir un rapport sur le seul chiffre d’affaires lié à la garantie, votre projet ressemblera à ce qui suit :
product : warranty : coverage
product : warranty : revenue
full coverage
200
extended
50
Total
250
CJA examine ces parties de l’accès pour générer le rapport :
{
  "ID": "1", 
+  "product": [
+    {
      "SKU": "1234", 
      "category": "Washing Machines", 
      "name": "LG Washing Machine 2000", 
      "orders": 1, 
      "revenue": 1600, 
      "units": 1,
      "order_id":"abc123", 
+      "warranty": [
+        {
+          "coverage": "full coverage", 
          "length": "2 year", 
          "name": "LG 2000 standard", 
          "orders": 1, 
+          "revenue": 200
+        }, 
+        {
+          "coverage": "extended", 
          "length": "1 year", 
          "orders": 1, 
+          "revenue": 50, 
          "type": "LG 2000 addon"
+        }
+      ]
+    }, 
    {
      "SKU": "4567", 
      "category": "Dryers", 
      "name": "LG Dryer 2000", 
      "orders": 1, 
      "revenue": 500, 
      "units": 1
    }
+  ], 
+  "timestamp": 1534219229
+}

Le sèche-linge n’étant pas couvert par une garantie, il n’est pas inclus dans le tableau.
Puisque vous pouvez combiner n’importe quelle dimension avec n’importe quelle mesure, le tableau suivant indique comment les données pourraient comporter des éléments de dimension non spécifiés :
product : warranty : name
product : orders
product : warranty : orders
LG 2000 standard
1
1
Unspecified
2
1
Total
2
2
Il existe une commande de produit sans qu’un nom de garantie lui soit associé, de sorte que l’élément de dimension attribue à « Non spécifié ». La même situation s’applique également à la commande de garantie du produit :
{
  "ID": "1", 
+  "product": [
+    {
      "SKU": "1234", 
      "category": "Washing Machines", 
      "name": "LG Washing Machine 2000", 
+      "orders": 1, 
      "revenue": 1600, 
      "units": 1,
      "order_id":"abc123", 
+      "warranty": [
+        {
          "coverage": "full coverage", 
          "length": "2 year", 
+          "name": "LG 2000 standard", 
+          "orders": 1, 
          "revenue": 200
+        }, 
+        {
          "coverage": "extended", 
          "length": "1 year", 
+          "orders": 1, 
          "revenue": 50, 
          "type": "LG 2000 addon"
+        }
+      ]
+    }, 
+    {
      "SKU": "4567", 
      "category": "Dryers", 
      "name": "LG Dryer 2000", 
+      "orders": 1, 
      "revenue": 500, 
      "units": 1
+    }
+  ], 
+  "timestamp": 1534219229
+}

Notez les commandes auxquelles aucun nom n’est associé. Il s’agit des commandes attribuées à l’élément de dimension « Non spécifié ».

Combinaison de mesures

CJA ne combine pas nativement des mesures portant le même nom si elles se trouvent à des niveaux d’objet différents.
product : category
product : revenue
product : warranty : revenue
Washing Machines
1600
250
Dryers
500
0
Total
2100
250
Vous pouvez toutefois créer une mesure calculée qui combine les mesures de votre choix :
Mesure calculée « Chiffre d‘affaires total » : [product : revenue] + [product : warranty : revenue]
L’application de cette mesure calculée affiche les résultats souhaités :
product : warranty : name
Total revenue (calculated metric)
Washing Machines
1850
Dryers
500
Total
2350

Exemples de persistance