2

我每 5 分钟分布一次点,当值为 0 时,点就被省略了。我想用空值填充省略的数据。

我看到使用 InfluxQL 我可以做到:

group by time(5m) fill(0)

但我使用的是 InfluxDB 2。我试过这个查询:

      from(bucket:"%v")
         |> range(start: %d) 
         |> filter(fn: (r) => r._measurement == "volume" and r.id == "%v")
         |> window(every: 5m, period: 5m, createEmpty: true)
         |> fill(value: 0)

但它似乎没有工作。

任何帮助表示赞赏。

4

2 回答 2

2

事实证明这是 InfluxDB 中与https://github.com/influxdata/influxdb/issues/21857相关的错误

显然该window功能也不起作用。

于 2021-08-14T03:04:37.750 回答
0

fill () 函数只替换数据中的空值,不会根据时间丢失数据点。目前没有可用的功能,虽然已经请求了。

在需要填写缺失数据的时间段内,我所做的是生成一个时间序列(零值)并将其与缺失数据的时间序列连接起来。

于 2021-07-08T12:39:03.477 回答