# 累积汇总聚合(Cumulative Sum Aggregation)

> 警告：此功能是实验性的，可能会在未来的版本中完全更改或删除。Elastic将采取最大的努力来解决任何的问题，但是实验功能不受SLA官方功能的支持。

父级管道聚合，计算父级直方图（或日期直方图）聚合中指定度量的累积和。指定的度量必须是数字，并且闭合min\_doc\_count直方图必须设置为0（默认为histogram聚合）。

## Syntax（语法） <a href="#cumulativesumaggregation-lei-ji-hui-zong-ju-he-syntax-yu-fa" id="cumulativesumaggregation-lei-ji-hui-zong-ju-he-syntax-yu-fa"></a>

cumulative\_sum聚合看起来像这样：

```
{
    "cumulative_sum": {
        "buckets_path": "the_sum"
    }
}
```

## cumulative\_sum参数 <a href="#cumulativesumaggregation-lei-ji-hui-zong-ju-he-table10.cumulativesumparameterstable10.cumulativesum" id="cumulativesumaggregation-lei-ji-hui-zong-ju-he-table10.cumulativesumparameterstable10.cumulativesum"></a>

| 参数名称           | 描述                                                 | 是否必须 | 默认值    |
| -------------- | -------------------------------------------------- | ---- | ------ |
| `buckets_path` | 我们希望找到的数据的桶的路径（相关详细信息，请参阅“buckets\_path Syntax”一节） | 必须   |        |
| `format`       | 应用于此聚合的输出值的格式                                      | 可选   | `null` |

以下代码计算每月sales总额的累计总和：

```
POST /sales/_search
{
    "size": 0,
    "aggs" : {
        "sales_per_month" : {
            "date_histogram" : {
                "field" : "date",
                "interval" : "month"
            },
            "aggs": {
                "sales": {
                    "sum": {
                        "field": "price"
                    }
                },
                "cumulative_sales": {
                    "cumulative_sum": {
                        "buckets_path": "sales"     #1
                    }
                }
            }
        }
    }
}
```

buckets\_path指示这个为cumulatice sum聚合，以使用累积和来输出sales聚合。

以下是响应信息：

```
{
   "took": 11,
   "timed_out": false,
   "_shards": ...,
   "hits": ...,
   "aggregations": {
      "sales_per_month": {
         "buckets": [
            {
               "key_as_string": "2015/01/01 00:00:00",
               "key": 1420070400000,
               "doc_count": 3,
               "sales": {
                  "value": 550.0
               },
               "cumulative_sales": {
                  "value": 550.0
               }
            },
            {
               "key_as_string": "2015/02/01 00:00:00",
               "key": 1422748800000,
               "doc_count": 2,
               "sales": {
                  "value": 60.0
               },
               "cumulative_sales": {
                  "value": 610.0
               }
            },
            {
               "key_as_string": "2015/03/01 00:00:00",
               "key": 1425168000000,
               "doc_count": 2,
               "sales": {
                  "value": 375.0
               },
               "cumulative_sales": {
                  "value": 985.0
               }
            }
         ]
      }
   }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://xiaoxiami.gitbook.io/elasticsearch/ji-chu/36aggregationsju-he-fen-679029/363guan-dao-ju-540828-pipeline-aggregations/lei-ji-hui-zong-ju-540828-cumulative-sum-aggregation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
