---
title: 集計属性
description: この記事では、集計属性の使用方法について説明します。
url: https://docs.tealium.com/ja/server-side/attributes/data-types/tally/
---
## 動作原理

集計属性は、多くのイベントにわたって名前付きアイテムの発生回数をカウントするキーと値のペアのコレクションを保存します。

例えば、訪問が購入した商品カテゴリを追跡するために、「商品カテゴリ購入」という名前の集計を使用し、購入イベントが発生したときにイベント属性 `product_category` で見つかった商品カテゴリの名前でそれを豊かにします。時間が経つにつれて、集計は訪問の購買習慣について貴重な情報を提供します。

|集計キー| 集計値|
| --- | --- |
|"靴"| 1|
|"パンツ"| 3|
|"シャツ"| 7|
|"ショーツ"| 2|

* キーは発生したアイテムの名前を表します。例えば、`product_category` 属性の値「靴」。
* 値はそれが発生した回数を表します。

### サイズ制限

集計は30,000のキーと値のペアに制限されています。集計属性は、暗号化および圧縮後のプロファイルの最大サイズ（400 KB）によっても制限されます。

### スコープ

集計属性は、次のスコープで利用可能です：訪問、訪問。

![](https://docs.tealium.com/images/server-side/screenshot-2019-11-11-at-1.26.28-pm.png)

### 集計お気に入り

デフォルトでは、各集計属性は最も値が高い集計項目の名前を自動的にキャプチャする対応する文字列属性を生成します。この文字列属性は集計と同じ名前を持ちますが、末尾に「（お気に入り）」が追加されます。例えば、「商品カテゴリ購入」という名前の集計は、「商品カテゴリ購入（お気に入り）」という名前の文字列属性も持っています。

### 集計同点ブレーカーのロジック

集計の同点が発生すると、複数のキーが同じ値を持っています。この場合、お気に入りは次のロジックに基づいて選ばれます：

* 同点が発生した場合、最も最近インクリメントされたキーがお気に入りになります。
* 複数のキーが値の配列を使用して同時にインクリメントされた場合、最後に処理されたエントリがお気に入りになります。
* 複数のキーがインクリメントされた順序が不明な場合、お気に入りはアルファベット順で選ばれます。

### 例

以下のイベントは、いくつかの可能な集計同点シナリオと各シナリオで選ばれたお気に入りを説明しています。

**イベント1**

この `page_category` イベントには「アパレル」のみのキーがあるため、それがお気に入りになります。

```
// 受信イベント
"page_category": { ["Apparel"] }

// 結果
"page_category":{
    "Apparel": 1
},
"page_category_favorite": "Apparel"
```

**イベント2**

このイベントでは、「アパレル」と「アクセサリー」の2つのキーが受信され、3つの同点が発生します。`Accessories` が最後に処理されたエントリであるため、それがお気に入りになります。

```
// 受信イベント
"page_category": { ["Apparel", "Accessories"] }

// 結果
"page_category": {
    "Books": 1,
    "Apparel": 1,
    "Accessories": 1
},
"page_category_favorite": "Accessories"
```

**イベント3**

このイベントでは、「アパレル」のキーが受信され、それが最高値のキーとなるため、お気に入りになります。

```js
// 受信イベント
"page_category": { ["Apparel"] }

// 結果
"page_category": {
    "Accessories": 1,
    "Apparel": 2,
    "Books": 1
},
"page_category_favorite": "Apparel"
```

## 例

次の表は、「商品カテゴリ購入」という名前の集計の例を示しており、購入された各商品カテゴリの回数をカウントします。この集計は、最も値が高いエントリの名前で自動的に文字列属性を生成します。

**集計属性: 「商品カテゴリ購入」**

|集計キー| 集計値|
| --- | --- |
|"靴"| 1|
|"パンツ"| 3|
|"シャツ"| 7|
|"ショーツ"| 2|
|**文字列属性: 「商品カテゴリ購入（お気に入り）」**| **「シャツ」**|

## エンリッチメント

### 集計増加

別の属性の値に基づいて集計内の数を増やします。例えば、各商品カテゴリが表示された回数を追跡するために、「商品カテゴリ表示」という名前の集計を使用し、`product_category` 属性でそれを豊かにします。`product_category` の値は集計のエントリになります。

数値属性は、訪問、ページビュー、イベントなどの閲覧メトリックの数を保存します。一般的な例には、生涯価値、注文合計取引、または最後の購入からの日数が含まれます。

数値タイプを指定するには、**タイプ** ドロップダウンリストから **Decimal** または **Integer** を選択します。

* **Decimal**
    * デフォルト値。
    * Decimal値は0またはそれ以上の小数点以下の桁数を持つことができます。
    * 例: `12`, `12.0`, `12.345`
    * 金額を表す属性に必要です。
* **Integer**
    * 整数値のみが保存されます。
    * 例: `12`, `-4`, `3214`
    * 数量、カウンター、またはスコアを表す整数属性に役立ちます。

**属性名**: 「商品カテゴリ表示」

* **開始値**: `{"Shoes": 7, "Pants": 1, "Shirts": 3}`
* **豊かにされたもの**: `product_category:"Shoes"`
* **結果の値**: `{"Shoes": 8, "Pants": 1, "Shirts": 3}`

### 集計値の増加

カスタム名または別の属性値に基づいて集計項目を増やします。例えば、「商品カテゴリ検索」という名前の集計を使用し、検索が行われていない場合（検索を追跡するブール属性に基づく条件の可能性が高い）に「検索されなかった」というハードコーディングされた値でそれを豊かにします。名前「検索されなかった」は自然に `product_category` 属性には発生しないため、このエンリッチメントはカスタムエントリを追加するために使用されます。

**属性名**: 「商品カテゴリ検索」

* **開始値**: `{"Shoes": 7, "Pants": 1, "Shirts": 3}`
* **豊かにされたもの**: カスタムキー: `"Did Not Search"`<br> カスタムインクリメント: `1`
* **結果の値**: `{"Did Not Search": 1, "Shoes": 7, "Pants": 1, "Shirts": 3}`

### 集計による集計の増加

別の集計で見つかった値によって集計の値を増やします。

**属性名**: 「商品カテゴリ購入（生涯）」

* **開始値**: `{"Shoes": 7, "Pants": 1, "Shirts": 3}`
* **豊かにされたもの**: `{"Shoes": 1, "Shirts": 2, "Dresses": 1}`
* **結果の値**: `{"Shoes": 8, "Pants": 1, "Shirts": 5, "Dresses": 1}`

### 文字列のセットによる集計の増加

訪問ごとに検索された商品カテゴリを追跡するために、「商品カテゴリ検索（生涯）」という名前の集計を使用し、各訪問の終わりに「商品カテゴリ検索（訪問）」という名前の文字列のセットでそれを豊かにします。

**属性名**: 「商品カテゴリ検索（生涯）」

* **開始値**: `{"Shoes": 7, "Pants": 1, "Shirts": 3}`
* **豊かにされたもの**: 商品カテゴリ検索 (訪問):`{"Shoes", "Pants", "Hats"}`
* **結果の値**: `["Shoes": 8, "Pants": 2, "Shirts": 3, "Hats": 1}`

### タイムラインに基づいてローリング平均を構成

ローリング平均は、時間の経過とともにキャプチャされた数値の算術平均です。これらの値は、[number]() および [tally]() 属性からすべて [Timeline]() のエントリとして収集されます。タイムラインの有効期限が最終平均にどのエントリを含めるかを決定します。有効期限がない場合、それは単純な平均解です。

**属性名**: 「平均商品カテゴリ購入金額」

* **開始値**: `{}`
* **豊かにされたもの**:  タイムラインエントリ: `{"Shoes": 150.00, "Pants": 75.00, "Shirts": 30.00}`<br> タイムラインエントリ: `{"Pants": 75.00, "Shirts": 42.00}`<br> タイムラインエントリ: `{"Shoes": 110.00, "Shirts": 18.00 "Hats": 25.00}` 
* **結果の値**: `{"Shoes": 130.00, "Pants": 75.00, "Shirts": 30.00, "Hats": 25.00}`
### タイムラインに基づいたローリングサムの構成

ローリングサムは、[タイムライン](https://docs.tealium.com/timeline-attribute/)に記録された数値または[集計](https://docs.tealium.com/tally-attribute/)属性の数値の合計です。タイムラインの有効期限が集計時に考慮されるエントリを決定します。

**属性名**: "Sum Product Category Purchase Amounts"

* **初期値**: `{}`
* **追加データ**:  タイムラインエントリ: `{"Shoes": 150.00, "Pants": 75.00, "Shirts": 30.00}`<br> タイムラインエントリ: `{"Pants": 75.00, "Shirts": 42.00}`<br> タイムラインエントリ: `{"Shoes": 110.00, "Shirts": 18.00 "Hats": 25.00}` 
* **結果値**: `{"Shoes": 260.00, "Pants": 150.00, "Shirts": 90.00, "Hats": 25.00}`

### 対応する配列による集計の構成

二つの対応する配列で定義された値に基づいて集計を構成します。例えば、購入イベントが発生したときに `product_category` と `product_quantity` の二つの配列を使用して、購入された商品の数量を記録する "Product Category Quantity Purchased" という集計を使用します。

**属性名**: "Product Category Quantity Purchased"

* **初期値**: `{}`
* **追加データ**:  `product_category: ["Shoes", "Pants", "Shirts"]`<br>`product_quantity: [1, 1, 3]` 
* **結果値**: `{"Shoes": 1, "Pants": 1, "Shirts": 3}`

### 集計の削除

条件に基づいて集計を削除します。

集計の削除エンリッチメントは、集計をリセットするために使用できます。例えば、訪問の商品カテゴリ検索を追跡していた場合、注文が行われた後にその集計をクリアすることができます。

**属性名**: reset tally to zero

* **初期値**: `{"Shoes": 1, "Pants": 3}`
* **追加データ**: `Purchase event occurs`
* **結果値**: (削除されました)

### 集計内のエントリの削除

条件に基づいて集計内のエントリを削除します。例えば、訪問の商品検索（および潜在的な購入）を追跡するために "Product Category Searched" という集計を使用し、購入されたアイテムに一致する集計エントリをこのエンリッチメントで削除します。

**属性名**: "Product Category Searched (Not Purchased)"

* **初期値**: `{"Shoes": 7, "Pants": 1, "Shirts": 3, "Jeans": 10}`
* **追加データ**: `product_catgory : "Shoes"`
* **結果値**: `{"Pants": 1, "Shirts": 3, "Jeans": 10}`

### 配列内の各アイテムに対して1を加算

配列内の各アイテムに対して1を加算します。例えば、購入イベントが発生したときに配列属性 `product_category` を使用して "Product Category Purchased" という集計をエンリッチします。

**属性名**: "Product Category Purchased"

* **初期値**: `{"Shoes": 1, "Pants": 1, "Shirts": 3}`
* **追加データ**: `product_category : ["Pants", "Ties"]`
* **結果値**: `{"Shoes": 1, "Pants": 2, "Shirts": 3, "Ties": 1}`