difference() function
difference()
returns the difference between subsequent values.
Subtraction rules for numeric types
- The difference between two non-null values is their algebraic difference;
or
null
, if the result is negative andnonNegative: true
; null
minus some value is alwaysnull
;- Some value
v
minusnull
isv
minus the last non-null value seen beforev
; ornull
ifv
is the first non-null value seen. - If
nonNegative
andinitialZero
are set totrue
,difference()
returns the difference between0
and the subsequent value. If the subsequent value is less than zero,difference()
returnsnull
.
Output tables
For each input table with n
rows, difference()
outputs a table with
n - 1
rows.
Function type signature
(
<-tables: stream[A],
?columns: [string],
?initialZero: bool,
?keepFirst: bool,
?nonNegative: bool,
) => stream[B] where A: Record, B: Record
Parameters
nonNegative
Disallow negative differences. Default is false
.
When true
, if a value is less than the previous value, the function
assumes the previous value should have been a zero.
columns
List of columns to operate on. Default is ["_value"]
.
keepFirst
Keep the first row in each input table. Default is false
.
If true
, the difference of the first row of each output table is null.
initialZero
Use zero (0) as the initial value in the difference calculation
when the subsequent value is less than the previous value and nonNegative
is
true
. Default is false
.
tables
Input data. Default is piped-forward data (<-
).
Examples
- Calculate the difference between subsequent values
- Calculate the non-negative difference between subsequent values
- Calculate the difference between subsequent values with null values
- Keep the first value when calculating the difference between values
Calculate the difference between subsequent values
import "sampledata"
sampledata.int()
|> difference()
Calculate the non-negative difference between subsequent values
import "sampledata"
sampledata.int()
|> difference(nonNegative: true)
Calculate the difference between subsequent values with null values
import "sampledata"
sampledata.int(includeNull: true)
|> difference()
Keep the first value when calculating the difference between values
import "sampledata"
sampledata.int()
|> difference(keepFirst: true)
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.