labeled = from(bucket: “canaan_iot_labeled”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “Power” and r[“_field”] == “Grind_Time”)
|> filter(fn: (r) => r[“Grinder”] == “Cafe Espresso Grinder” or r[“Grinder”] == “Decaf Grinder” or r[“Grinder”] == “EK43 Grinder 1-11” or r[“Grinder”] == “EK43 Grinder 1-16” or r[“Grinder”] == “Espresso Grinder”)
|> group(columns: )
|> count()
|> toFloat()
unlabeled = from(bucket: “canaan_iot”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “Power”)
|> filter(fn: (r) => r[“_field”] == “Grind_Time”)
|> filter(fn: (r) => r._value > 0.5)
|> group(columns: )
|> count()
|> toFloat()
division = labeled / unlabeled
division
I encountered an error while attempting to divide the variable labeled by the variable unlabeled. The error message displayed was: “[{A with _value:B, _value:float}] is not Divisible.”
Hello @AbdAlrhman_Sallam ,
In order to divide values you need to first extract them from the table.
In this post, we learn how to use the reduce(), findColumn(), and findRecord() Flux functions to perform custom aggregations with InfluxDB.
labeled = from(bucket: “canaan_iot_labeled”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “Power” and r[“_field”] == “Grind_Time”)
|> filter(fn: (r) => r[“Grinder”] == “Cafe Espresso Grinder” or r[“Grinder”] == “Decaf Grinder” or r[“Grinder”] == “EK43 Grinder 1-11” or r[“Grinder”] == “EK43 Grinder 1-16” or r[“Grinder”] == “Espresso Grinder”)
|> group(columns: )
|> count()
|> toFloat()
|> findRecord(fn: (key) => true, idx: 0)
unlabeled = from(bucket: “canaan_iot”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “Power”)
|> filter(fn: (r) => r[“_field”] == “Grind_Time”)
|> filter(fn: (r) => r._value > 0.5)
|> group(columns: )
|> count()
|> toFloat()
|> findRecord(fn: (key) => true, idx: 0)
division = labeled._value / unlabeled._value
// to visualize
array.from(rows: [{division: division}])
I believe that’s right. that post should be helpful too