I’m very new to InfuxDB and I’m struggling to write a query in flux that returns the difference between the “_value” fields of the first and the last record in my table. Any help?
@Vasu_Yadav If the values in your table only increment up, you can just use spread()
.
data
|> spread()
If they fluctuate up and down throughout the table and there’s a chance the last value is less that other values in the table, you can use reduce()
to create a custom aggregate that only subtracts the first value from the last value:
data
|> reduce(
identity: {index: 0, first: 0.0, _value: 0.0},
fn: (r) => ({
index: accumulator.index + 1,
first: if accumulator.index == 0 then r._value else accumulator.first,
_value: if accumulator.index !=0 then r._value - accumulator.first else 0.0
}))
1 Like