elasticsearch - 计算每个桶的嵌套聚合百分比
问题描述
如何获得父聚合来计算每个父聚合的嵌套聚合中特定术语的百分比?
例如,假设我有以下数据:
- 一月(100 销量)
- 类型:T 恤(10 次销售),我需要:10/100 = .10)
- 类型:裤子(50 销售),我需要:50/100 = .50)
- 类型:裙子(40 次销售),我需要:40/100 = .40)
- 二月(60 销售)
- 类型:T 恤(58 销售);我需要:58/60 = .96)
- 类型:裤子(1 销售);我需要:1 / 60 = .016)
- 类型:裙子(1 次销售);我需要:1 / 60 = .016)
我需要的结果是:
- 一月:
- T恤:10%
- 裤子:50%
- 裙子:40%
- 二月:
- T恤:96%
- 裤子:1.6%
- 裙子:1.6%
例如,基于 elasticsearch 官方示例,它会是这样的:
POST /sales/_search
{
"size": 0,
"aggs": {
"sales_per_month": {
"date_histogram": {
"field": "date",
"interval": "month"
},
"aggs": {
"types": {
"term": {
"field": "type"
}
}
}
}
}
}
但是我不知道如何计算这些百分比。
解决方案
推荐阅读
- python - Python如何自动选择最后一个交易日的收盘价
- haskell - Haskell 高阶滤波函数
- pandas - Groupby 熊猫和体重时间序列
- javascript - 为什么不处理快递?
- php - 根据数据库更改 td 内容
- azure - Azure AD - 检索特定于特定用户的应用程序的自定义属性
- flutter - Flutter 代码行在 Visual Studio Code 中未正确显示树状结构
- drake - 在启用 Gurobi 的情况下使用 drake 构建时出现问题
- r - 在 ggplot2 的 y 轴上将格式化值 (Ks) 显示为数字
- sql - 找出一个名字重复次数最多的城市