【发布时间】:2019-05-11 16:11:09
【问题描述】:
我将能源使用数据记录为一个计数器,我想将其显示为每天重置的累积图表,类似asked here。
我可以生成如下累积值:
SELECT mean("value") \
FROM "energy" \
WHERE $timeFilter \
GROUP BY time($__interval)
还有每日价值:
SELECT max("value") \
FROM "energy" \
WHERE $timeFilter \
GROUP BY time(1d)
但我不能在一个查询中减去或得到这个,因为 GROUP BY 时间不同。
(如何)这在 influxdb 中是可能的吗?我看过 INTEGRATE() 但这还没有找到一种方法来使它工作。
数据如下所示(示例限于 1 天):
time value
---- ----
2018-12-10T17:00:00Z 7
2018-12-10T18:00:00Z 9
2018-12-10T19:00:00Z 10
2018-12-10T20:00:00Z 11
2018-12-10T21:00:00Z 13
2018-12-10T22:00:00Z 14
2018-12-10T23:00:00Z 15
2018-12-11T00:00:00Z 16
2018-12-11T01:00:00Z 17
2018-12-11T02:00:00Z 20
2018-12-11T03:00:00Z 24
2018-12-11T04:00:00Z 25
2018-12-11T05:00:00Z 26
2018-12-11T06:00:00Z 27
2018-12-11T07:00:00Z 28
2018-12-11T08:00:00Z 29
2018-12-11T09:00:00Z 31
2018-12-11T10:00:00Z 32
2018-12-11T11:00:00Z 33
2018-12-11T12:00:00Z 34
2018-12-11T13:00:00Z 35
2018-12-11T14:00:00Z 36
2018-12-11T15:00:00Z 37
2018-12-11T16:00:00Z 38
2018-12-11T17:00:00Z 39
【问题讨论】:
-
您尝试过 CUMULATIVE_SUM() 函数吗? docs.influxdata.com/influxdb/v1.7/query_language/functions/…
-
您的数据点看起来如何?您是否将您的“价值”收集为全天的累积计数器,还是任何类型的“即时”价值(在一段时间内)?
-
@YuriG:数据已经累积,请参阅我刚刚添加的示例数据,但这对我的问题无关紧要,因为我可以使用
DERIVATIVE()和CUMULATIVE_SUM()在两者之间进行转换。跨度> -
@JanGaraj:是的,但是如何每天重置以获得类似锯齿的图形?
-
@Tim 可能 GROUP BY time(1d)