Grafana,在 FLux 查询中使用局部变量

Grafana, Use of local variable in FLux query

beeing relativ 新的 Flux,我正在尝试根据我得到的值 (tot) 对行进行计算。

> tot=from(bucket: "stat_tst")
  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
  |> filter(fn: (r) =>r._field == "speed" and r._value > 0.0)
  |> group()
  |> count()

from(bucket: "stat_tst")
  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
  |> filter(fn: (r) =>r._field == "speed" and r._value > 0.0)
  |> map(fn: (r) => ({ r with _value: r._value / tot }))

这让我屈服

invalid: type error @9:39-9:53: [A] is not Divisible

我做错了什么?预先感谢您的支持。

在您的脚本中,tot 是 table。您需要提取标量值,如

tot = from(bucket: "stat_tst")
  ...
  |> count()
  |> findColumn(fn: (key) => true, column: "_value")

详情见Extract scalar values in Flux