I am making an IoT Dashboard where I want to visualize data from a machine. Now I want to make the step to Influx 2.0, but the new Flux language is different, and I cannot figure this problem out. In Grafana I have the following InfluxQL query:
SELECT sum("execution_duration") / sum("interval_duration") as "Availability" FROM "data-oee" WHERE $timeFilter GROUP BY time($time_interval)
Now I want to execute this query as a Flux query, I’ve made an query but it doesn’t give me the right results:
from(bucket: "Dashboard") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "oee-data") |> filter(fn: (r) => r["machine"] == "ilv") |> filter(fn: (r) => r["_field"] == "no_production_duration" or r["_field"] == "production_duration") |> cumulativeSum(columns: ["_field"]) |> aggregateWindow(every: 1h, fn: sum, createEmpty: false) |> yield(name: "sum")
I want to sum all the values that have the _field name “execution_duration” and divide it by the sum of all the values from the field name “interval_duration” by doing this I get a list of timestamps with some kind of availability value that I want to visualize.
The data in my InfluxDB:
I hope you guys know how to fix this…