Influxdb 2.0 Flux - 如何返回 0 而不是 null

Ame*_*ful 5 influxdb influxdb-2 flux-influxdb

我想计算大于特定值的值的数量。数据:

在此输入图像描述

from(bucket: "bucket name")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) => r._value > 35)
    |> count()
Run Code Online (Sandbox Code Playgroud)

如果处理数据范围内没有大于指定值的值,则 influx 不返回任何内容(无数据)。

Ame*_*ful 3

解决方案有一个小技巧...而不是filter()and count()- 需要使用map()andsum()

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()

Run Code Online (Sandbox Code Playgroud)