一部のプラットフォームスキーマでは、オブジェクト配列を使用できます。最も一般的な例の 1 つに、複数の製品が入った買い物かごがあります。各製品には、名前、SKU、カテゴリ、価格、数量、および追跡したいその他のディメンションがあります。これらのファセットにはそれぞれ個別の要件がありますが、すべて同じヒットに適合する必要があります。
以前のバージョンの Adobe Analytics では、この機能は products
変数を使用して実行されていました。この連結文字列では、セミコロン(;
)で製品のファセットを区切り、製品の区切りにはコンマ(,
)を使用します。これは、「オブジェクト配列」のサポートが制限される唯一の変数です。複数値の変数(リスト変数など)は、同等の配列をサポートできますが、「オブジェクト配列」をサポートすることはできません。CJA は、Adobe Analytics の以前のバージョンでは利用できない機能である、1 行のデータ内で任意の深い階層をサポートすることで、この概念を拡大しています。
次のヒットは、洗濯機と乾燥機で構成された、顧客の購入を表す JSON オブジェクトです。
{
"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
}
データビューを作成する場合、(スキーマに基づいて)次のディメンションと指標を使用できます。
上記のヒットのみを使用し、次のテーブルでは、いくつかのディメンションと指標の組み合わせを使用した Workspace レポートを示しています。
product : name |
product : orders |
product : revenue |
---|---|---|
LG Washing Machine 2000 |
1 |
1600 |
LG Dryer 2000 |
1 |
500 |
Total |
1 |
2100 |
CJA は、テーブルに基づいて、オブジェクトのディメンションと指標を選択的に確認します。
{
"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
+}
保証売上高のみを報告したい場合、プロジェクトは次のようになります。
product : warranty : coverage |
product : warranty : revenue |
---|---|
full coverage |
200 |
extended |
50 |
Total |
250 |
CJA は、ヒットの次の部分を調べてレポートを生成します。
{
"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
+}
乾燥機には保証が付いていないので、テーブルには含まれていません。
任意のディメンションを任意の指標と組み合わせることができるので、次の表では、ディメンション項目が指定されていないデータの処理方法を示します。
product : warranty : name |
product : orders |
product : warranty : orders |
---|---|---|
LG 2000 standard |
1 |
1 |
Unspecified |
2 |
1 |
Total |
2 |
2 |
製品注文には保証名が関連付けられていないのでディメンション項目は「未指定」に属しています。同じ状況が、製品の保証注文にも当てはまります。
{
"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
+}
名前が関連付けされていない注文をメモしておきます。これらは、「未指定」ディメンション項目に属する注文です。
CJA は、異なるオブジェクトレベルにある場合、同じ名前の指標をネイティブで結合しません。
product : category |
product : revenue |
product : warranty : revenue |
---|---|---|
Washing Machines |
1600 |
250 |
Dryers |
500 |
0 |
Total |
2100 |
250 |
ただし、必要な指標を組み合わせた計算指標を作成できます。
計算指標「合計売上高」:[product : revenue] + [product : warranty : revenue]
この計算指標を適用すると、望ましい結果が表示されます。
product : warranty : name |
Total revenue (calculated metric) |
---|---|
Washing Machines |
1850 |
Dryers |
500 |
Total |
2350 |