文档文档

计算变化率

使用 derivative() 计算后续值之间的变化率,或使用 aggregate.rate() 计算每个时间窗口的平均变化率。如果点之间的时间间隔不同,这些函数会将点归一化到共同的时间间隔,使值易于比较。

后续值之间的变化率

使用 derivative() 函数 计算后续 *非空* 值之间每单位时间的变化率。

data
    |> derivative(unit: 1s)

默认情况下,derivative() 仅返回正导数值,并将负值替换为 *null*。计算值以 浮点数 形式返回。

给定以下输入

_time_value
2020-01-01T00:00:00Z250
2020-01-01T00:04:00Z160
2020-01-01T00:12:00Z150
2020-01-01T00:19:00Z220
2020-01-01T00:32:00Z200
2020-01-01T00:51:00Z290
2020-01-01T01:00:00Z340

derivative(unit: 1m) 返回

_time_value
2020-01-01T00:04:00Z
2020-01-01T00:12:00Z
2020-01-01T00:19:00Z10.0
2020-01-01T00:32:00Z
2020-01-01T00:51:00Z4.74
2020-01-01T01:00:00Z5.56

结果表示后续值之间 **每分钟** 的变化率,负值设置为 *null*。

返回负导数值

要返回负导数值,请将 nonNegative 参数设置为 false

给定以下输入

_time_value
2020-01-01T00:00:00Z250
2020-01-01T00:04:00Z160
2020-01-01T00:12:00Z150
2020-01-01T00:19:00Z220
2020-01-01T00:32:00Z200
2020-01-01T00:51:00Z290
2020-01-01T01:00:00Z340

以下返回

|> derivative(unit: 1m, nonNegative: false)
_time_value
2020-01-01T00:04:00Z-22.5
2020-01-01T00:12:00Z-1.25
2020-01-01T00:19:00Z10.0
2020-01-01T00:32:00Z-1.54
2020-01-01T00:51:00Z4.74
2020-01-01T01:00:00Z5.56

结果表示后续值之间 **每分钟** 的变化率,并包括负值。

每个时间窗口的平均变化率

使用 aggregate.rate() 函数 计算每个时间窗口的平均变化率。

import "experimental/aggregate"

data
    |> aggregate.rate(
        every: 1m,
        unit: 1s,
        groupColumns: ["tag1", "tag2"],
    )

aggregate.rate() 返回由 every 定义的时间间隔内每 unit 的平均变化率(以 浮点数 形式)。负值被替换为 *null*。

aggregate.rate() 不支持 nonNegative: false

给定以下输入

_time_value
2020-01-01T00:00:00Z250
2020-01-01T00:04:00Z160
2020-01-01T00:12:00Z150
2020-01-01T00:19:00Z220
2020-01-01T00:32:00Z200
2020-01-01T00:51:00Z290
2020-01-01T01:00:00Z340

以下返回

|> aggregate.rate(
    every: 20m,
    unit: 1m,
)
_time_value
2020-01-01T00:20:00Z10.00
2020-01-01T00:40:00Z
2020-01-01T01:00:00Z4.74
2020-01-01T01:20:00Z5.56

结果表示每个 **20 分钟间隔** 的 **每分钟平均变化率**,负值设置为 *null*。时间戳表示用于平均值的时间窗口的右边界。


此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在一样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速的、最近数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩功能,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看