You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Grafana需求:按A分组展示B的最大值及对应C、D字段

解决Grafana+Elasticsearch分组取最大值并关联对应字段的问题

方法一:直接用Elasticsearch的Top Hits聚合(推荐)

这种方法无需依赖Grafana转换,直接在查询层面获取目标数据,效率更高:

  • 在Grafana的Elasticsearch查询面板,先添加Terms聚合,字段选择A作为分组依据
  • 在该Terms聚合下,添加Top Hits子聚合:
    • 设置Size为1(仅取每个分组的第一条数据)
    • 排序规则选择字段B,排序方向设为降序(这样就能拿到每个A分组下B值最大的完整文档)
  • 返回Grafana字段配置界面,勾选需要展示的A、B、C、D字段,即可直接得到按A分组、显示最大B值及对应C/D的表格

方法二:调整Grafana转换逻辑适配Join

如果坚持使用Join By Field转换,可通过以下步骤解决列名不匹配问题:

  • 第一步完成分组聚合:按A分组,计算B的最大值,此时会得到A和Max两列
  • 添加Add Field from calculation转换:
    • 新增字段名设为B,计算公式填写${Max},将Max列的值复制到新的B列中
  • 添加Join By Field转换:
    • 左数据源选择分组后的结果,右数据源选择原始Elasticsearch数据
    • 关联字段两边均选择A和B(此时两边都有B字段,可正常匹配)
  • 最后用Organize fields转换移除多余的Max列,再通过Filter data by query过滤重复行(例如保留B等于Max的行)

内容的提问来源于stack exchange,提问作者martha.j.p

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 23:11:59