Агрегация кумулятивной суммы
Родительская агрегация конвейера, которая вычисляет кумулятивную сумму заданного метрического показателя в родительской агрегации гистограммы (или гистограммы дат). Заданный метрический показатель должен быть числовым, а содержащая гистограмма должна иметь значение min_doc_count, установленное на 0 (значение по умолчанию для агрегаций histogram).
Синтаксис
Агрегация cumulative_sum выглядит следующим образом:
{
"cumulative_sum": {
"buckets_path": "the_sum"
}
} Таблица 53. Параметры cumulative_sum
| Имя параметра | Описание | Обязательно | Значение по умолчанию |
|---|---|---|---|
| Путь к корзинам, для которых мы хотим найти кумулятивную сумму (подробнее см. | Обязательно | |
| формат для применения к выходному значению этой агрегации | Необязательно |
|
Следующий фрагмент вычисляет кумулятивную сумму общей ежемесячной sales:
POST /sales/_search
{
"size": 0,
"aggs": {
"sales_per_month": {
"date_histogram": {
"field": "date",
"calendar_interval": "month"
},
"aggs": {
"sales": {
"sum": {
"field": "price"
}
},
"cumulative_sales": {
"cumulative_sum": {
"buckets_path": "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
}
}
]
}
}
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-aggregations-pipeline-cumulative-sum-aggregation.html