Hi,
I have a time series of incrementing energy measurements like so:
2021-02-08 09:20:25 89503600
2021-02-08 09:21:25 89503600
2021-02-08 09:23:11 89503600
2021-02-08 09:24:10 89503600
2021-02-08 09:25:09 89503600
2021-02-08 09:26:09 89503600
2021-02-08 09:27:13 89503600
2021-02-08 09:46:13 89504000
2021-02-08 09:47:11 89504100
2021-02-08 09:48:10 89504100
....
....
2021-03-19 09:28:10 89702300
2021-03-19 09:29:10 89702300
2021-03-19 09:30:11 89702400
2021-03-19 09:31:10 89702700
The values are in kWh. In order to determine the enery consumption in a time window, it would just take the last value in a time window minus the first value in a time window – or alternatively: Split the range into multiple time windows and take the difference between the first values like so:
from(bucket: "powerrouter")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "E_GRID_TOTAL" and r._field == "value" )
|> aggregateWindow(every: 1d, fn: first, createEmpty: false)
|> difference()
Now this works and I get the energy consumption for each day.
What I want, however, is the energy consumption in every month. I have data starting from 8.2.2021 until today 19.3. So I’ve changed the above to read:
from(bucket: "powerrouter")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "E_GRID_TOTAL" and r._field == "value" )
|> aggregateWindow(every: 1mo, fn: first, createEmpty: false)
|> difference()
And the strange thing is, that I only get data for March and not for February.
2021-03-19 13:12:24 1192000
When I remove the difference() function, I get two values:
2021-03-01 01:00:00 89503600
2021-03-19 13:13:20 90695600
But where is the very first value from 8.2.2021:
2021-02-08 09:20:25 89503600
Why is it not included in the agregateWindow output?
Thanks // Tom