【问题标题】:Average value from InfuxDB v2InfluxDB v2 的平均值
【发布时间】:2020-12-21 14:36:44
【问题描述】:

我有 2 个室外温度源可以保存在 InfuxDB v2 中。现在我正在尝试在 Grafana 中编写 Flux 查询来显示平均温度图。两种温度都有相同的“测量”、“场”和“地点”标签,区别只是“来源”标签。

from(bucket: "netatmo")
  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
  |> filter(fn: (r) =>
    r._measurement == "meteodata" and
    r._field == "temperature" and
    r.where == "outdoor" and
    r.source == "netatmo"
  )

如果我没有指定 r.source,我的图表中有 2 条线。但我只需要一行,从 2 个值计算平均值。我怎样才能得到它?

也许问题是温度值没有存储在相同的时间戳中,因为它来自 2 个设备,并且当温度变化时,这会随机发送数据。有时温度每分钟发送两次,有时每 3 分钟发送一次。我需要一个 1 分钟时间范围内的平均值。

感谢您的帮助。

【问题讨论】:

    标签: grafana influxdb influxdb-2


    【解决方案1】:

    分组是合并值的关键。

    from(bucket: "netatmo")
      |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
      |> group(columns: ["where"], mode:"by")
      |> filter(fn: (r) => r._measurement == "meteodata")
      |> filter(fn: (r) => r._field == "temperature")
      |> filter(fn: (r) => r.where == "outdoor")
      |> aggregateWindow(every:1m, fn:mean, createEmpty: false)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-03
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      相关资源
      最近更新 更多