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)
此页是否对您有帮助?
感谢您的反馈!