elasticsearch 以Kibana为单位的期间百分比变化图,elasticsearch,kibana,kibana-5,elasticsearch,Kibana,Kibana 5" /> elasticsearch 以Kibana为单位的期间百分比变化图,elasticsearch,kibana,kibana-5,elasticsearch,Kibana,Kibana 5" />

elasticsearch 以Kibana为单位的期间百分比变化图

elasticsearch 以Kibana为单位的期间百分比变化图,elasticsearch,kibana,kibana-5,elasticsearch,Kibana,Kibana 5,我有一个带有Elasticsearch的索引,其中包含(除其他外)年份和权重字段。在Kibana(v5)中,我可以轻松制作一个条形图,显示每年所有权重的总和: 我如何构建一个条形图,显示自去年以来总重量的变化情况?因此(元语言中的)公式如下:sum(weight[year])/sum(weight[year-1])。有弹性,但我找不到一种方法来计算桶到桶的百分比变化 我使用Timelon实现了这个目标,Timelon最近成为了Kibana的原生模块。Timelion允许在序列之间执行数学运算,

我有一个带有Elasticsearch的索引,其中包含(除其他外)年份和权重字段。在Kibana(v5)中,我可以轻松制作一个条形图,显示每年所有权重的总和:


我如何构建一个条形图,显示自去年以来总重量的变化情况?因此(元语言中的)公式如下:
sum(weight[year])/sum(weight[year-1])
。有弹性,但我找不到一种方法来计算桶到桶的百分比变化

我使用Timelon实现了这个目标,Timelon最近成为了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()

这里的关键部分是
。用
.offset(-1y)
序列除以相同的数据。您的答案非常有用!但我有一个不同的用例。假设我有以下查询:
.es(index=bk\u random3\u追加,timefield=Time,metric=count,q=170863)。subtract(.es(index=bk\u random3\u追加,timefield=Time,metric=count,q=170868))
。但是我希望查询是动态生成的。比如,我在仪表板中选择值“170865”和“170866”,我希望查询内容为:“q=170865”减去“q=170866”,即Lucene查询将动态地从仪表板过滤器中获取值。。这可能吗?有趣的用例!我不知道如何在Timelion中解决它,我现在已经离开了Kibana,动态地生成查询到ES并在Angular中可视化。