【问题标题】:Graph with percent change between periods in KibanaKibana 中不同时期之间百分比变化的图表
【发布时间】:2017-06-29 07:46:18
【问题描述】:

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

如何构建条形图,显示自去年以来总重量的变化情况?所以公式(元语言)将类似于:sum(weight[year])/sum(weight[year-1])。 Elastic中有pipeline aggregations,但我找不到计算桶到桶百分比变化的方法?

【问题讨论】:

    标签: elasticsearch kibana kibana-5


    【解决方案1】:

    我已经成功地使用 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)相同的数据。

    【讨论】:

    • 你的回答真的很有帮助!但我有一个不同的用例。假设我有以下查询:.es(index=bk_random3_appended,timefield=Time,metric=count,q=170863).subtract(.es(index=bk_random3_appended,timefield=Time,metric=count,q=170868))。但我希望查询是动态生成的。比如说,我在仪表板中选择值“170865”和“170866”,我希望查询读取:“q=170865”减去“q=170866”,即 Lucene 查询将从仪表板过滤器中动态获取值。是这可能吗?
    • 有趣的用例!我不知道如何在 Timelion 中解决它,我现在已经离开 Kibana 并动态生成对 ES 的查询并在 Angular 中可视化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多