我有一个Elasticsearch索引,其中包含(尤其)年份和权重字段。在Kibana(第5版)中,我可以轻松生成一个条形图,显示每年所有权重的总和:
如何构建条形图,显示自去年以来总重量的变化情况?所以公式(用元语言)就像:sum(weight[year])/sum(weight[year-1])
。 Elastic中有pipeline aggregations,但是我找不到计算桶到桶百分比变化的方法吗?
答案 0 :(得分:2)
我已经设法使用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)
相同的数据。