问题描述
我想计算大于特定值的值的数量。 数据:
from(bucket: "bucket name")
|> range(start: v.timeRangeStart,stop: v.timeRangeStop)
|> filter(fn: (r) => r._value > 35)
|> count()
如果处理数据范围内没有大于指定值的值,则不返回任何值(无数据)。
解决方法
一个小技巧的解决方案......
而不是 filter()
和 count()
- 需要使用 map()
和 sum()
from(bucket: "bucket name")
|> range(start: v.timeRangeStart,stop: v.timeRangeStop)
|> map(fn: (r) => ({ r with _value: if r._value 35 then 1 else 0 }))
|> sum()