Influxdb 2.0 Flux - Как вернуть 0 вместо null

Я хочу подсчитать количество значений, превышающих конкретное значение. Данные:

введите описание изображения здесь

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

Если в диапазоне данных обработки нет значений, превышающих указанное значение, приток ничего не возвращает (нет данных).


person Amerousful    schedule 27.04.2021    source источник


Ответы (1)


Решение с маленькой хитростью ... Вместо 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()

person Amerousful    schedule 05.05.2021