文档文档

difference() 函数

difference() 返回后续值之间的差值。

数值类型的减法规则

  • 两个非空值之间的差是它们的代数差;或者 null,如果结果为负数且 nonNegative: true
  • null 减去某个值始终为 null
  • 某个值 v 减去 nullv 减去在 v 之前看到的最后一个非空值;如果 v 是看到的第一个非空值,则为 null
  • 如果 nonNegativeinitialZero 设置为 true,则当后续值小于前一个值时,difference() 返回 0 与后续值之间的差值。 如果后续值小于零,则 difference() 返回 null

输出表

对于每个具有 n 行的输入表,difference() 输出一个具有 n - 1 行的表。

函数类型签名
(
    <-tables: stream[A],
    ?columns: [string],
    ?initialZero: bool,
    ?keepFirst: bool,
    ?nonNegative: bool,
) => stream[B] where A: Record, B: Record

有关更多信息,请参阅 函数类型签名

参数

nonNegative

不允许负差。默认为 false

true 时,如果一个值小于前一个值,则该函数假定前一个值应为零。

columns

要操作的列列表。默认为 ["_value"]

keepFirst

保留每个输入表中的第一行。默认为 false

如果为 true,则每个输出表的第一行的差值为空值。

initialZero

当后续值小于前一个值且 nonNegativetrue 时,使用零 (0) 作为差值计算中的初始值。默认为 false

tables

输入数据。默认为管道转发数据 (<-)。

示例

计算后续值之间的差值

import "sampledata"

sampledata.int()
    |> difference()

查看示例输入和输出

计算后续值之间的非负差值

import "sampledata"

sampledata.int()
    |> difference(nonNegative: true)

查看示例输入和输出

计算具有空值的后续值之间的差值

import "sampledata"

sampledata.int(includeNull: true)
    |> difference()

查看示例输入和输出

计算值之间的差值时保留第一个值

import "sampledata"

sampledata.int()
    |> difference(keepFirst: true)

查看示例输入和输出


此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

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

欲了解更多信息,请查看