通量聚合函数计算特定日期的差额停止

问题描述 投票:0回答:1

我正在尝试学习 InfluxDB 的 Flux 查询语言。我正在使用 InfluxDB OSS 2.7。

我有来自 iobroker 的用水量使用时间序列。它报告的升数不断增加,我想通过使用aggregateWindow 的自定义函数来显示我每月使用了多少升。这是我尝试过的:

import "timezone"
import "types"
option location = timezone.location(name: "Europe/Berlin")
from(bucket: "iobroker")
|> range(start: -1y, stop: today())
|> filter(fn: (r) => r["_measurement"] == "Water_Total" and r["_field"] == "value")
|> filter(fn: (r) => types.isNumeric(v: r._value))
|> difference()
|> aggregateWindow(every: 1mo, fn: sum, timeSrc: "_stop")
|> cumulativeSum(columns: ["_value"])
|> derivative(unit: 1d, nonNegative: true, columns: ["_value"], timeColumn: "_time")`

这将返回一个在特定日期(2023 年 7 月 26 日)停止的图表/表格aggregation per month 我怎样才能找到问题?

我试图找出数据中的问题,但找不到。 data on a daily basis它停在这里,有这样的声明:

from(bucket: "iobroker")
|> range(start: -1y, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "Water_Total")
|> filter(fn: (r) => r["_field"] == "value")
|> aggregateWindow(every: 1d, fn: spread, createEmpty: false)
|> yield(name: "l")

使用

 from(bucket: "iobroker")
 |> range(start: -55d, stop: v.timeRangeStop)
 |> filter(fn: (r) => r["_measurement"] == "Water_Total")
 |> filter(fn: (r) => r["_field"] == "value")
 |> aggregateWindow(every: 1d, fn: spread, createEmpty: false)
 |> yield(name: "l")

我正在获取 2023 年 8 月 21 日之后的数据。

influxdb flux
1个回答
0
投票

数据太多。 尝试范围(开始:-5d ...

© www.soinside.com 2019 - 2024. All rights reserved.