查询两天之间的差异

时间:2019-11-07 18:00:58

标签: grafana influxdb

我拥有每天1小时以grafana显示的能耗数据。数据每5秒写入一次,需要进行汇总。

enter image description here

多数民众赞成在查询中:

histogram

我想要另一个图表以相同的方式显示实际消费量和昨天消费量之间的差异。

问题是我无法弄清楚如何正确使用influxdb差异函数。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我用常规的influxdb查询语言找不到任何解决方案。但是通过使用助熔剂可以解决

today = from(bucket: "piMeter") 
|> range(start: -31d) 
|> filter(fn: (r) => r._measurement == "downsampled_energy" and r._field == "sum_Gesamt") 
|> fill(value: 0.0) 
|> aggregateWindow(every: 1d, fn:sum) 

yesterday = from(bucket: "piMeter") 
|> range(start: -62d, stop: -32d) 
|> filter(fn: (r) => r._measurement == "downsampled_energy" and r._field == "sum_Gesamt")
|> fill(value: 0.0) 
|> aggregateWindow(every: 1d, fn:sum) 

join(tables:{today:today, yesterday:yesterday}, on:["_field"]) 
|> map(fn:(r) => ({
    _time: r._time_today,
    _value: r._value_today - r._value_yesterday,
   }))
|> fill(value: 0.0)
|> aggregateWindow(every:1d , fn:mean)