difference() 函数
difference()
返回后续值之间的差值。
数值类型的减法规则
- 两个非空值之间的差是它们的代数差;或者
null
,如果结果为负数且nonNegative: true
; null
减去某个值始终为null
;- 某个值
v
减去null
是v
减去在v
之前看到的最后一个非空值;如果v
是看到的第一个非空值,则为null
。 - 如果
nonNegative
和initialZero
设置为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
当后续值小于前一个值且 nonNegative
为 true
时,使用零 (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)
此页是否对您有帮助?
感谢您的反馈!