我有一个 Elasticsearch 索引,其中包含(除其他外)年份和权重字段。在 Kibana (v5) 中,我可以轻松生成一个条形图,显示每年所有权重的总和:
如何构建条形图,显示自去年以来总重量的变化情况?所以公式(在元语言中)将是:sum(weight[year])/sum(weight[year-1])
. Elastic中有管道聚合,但我找不到计算桶到桶百分比变化的方法?
我有一个 Elasticsearch 索引,其中包含(除其他外)年份和权重字段。在 Kibana (v5) 中,我可以轻松生成一个条形图,显示每年所有权重的总和:
如何构建条形图,显示自去年以来总重量的变化情况?所以公式(在元语言中)将是:sum(weight[year])/sum(weight[year-1])
. Elastic中有管道聚合,但我找不到计算桶到桶百分比变化的方法?
我已经设法使用 Timelion 实现了这个目标,它最近成为了本地 Kibana 模块。Timelion 允许在系列之间执行数学运算,包括在时间 (x) 轴上设置偏移量。
为了计算桶之间的分数,我使用了以下公式:
.es(index=myindex,timefield=year_date,metric=sum:weight).divide(.es(index=myindex,timefield=year_date,metric=sum:weight,offset=-1y)).multiply(100).subtract(100).bars()
这里的关键部分是.divide
用相同的数据进行序列化.offset(-1y)
。