derivative() function

The derivative() function computes the rate of change per unit of time between subsequent non-null records. It assumes rows are ordered by the _time column. The output table schema is the same as the input table.

Function type: Transformation
Output data type: Float

  unit: 1s,
  nonNegative: true,
  columns: ["_value"],
  timeSrc: "_time"



The time duration used when creating the derivative. Defaults to 1s.

Data type: Duration


Indicates if the derivative is allowed to be negative. Default is true. When true, if a value is less than the previous value, it is assumed the previous value should have been a zero.

Data type: Boolean


The columns to use to compute the derivative. Defaults to ["_value"].

Data type: String


The column containing time values. Defaults to "_time".

Data type: String

Output tables

For each input table with n rows, derivative() outputs a table with n - 1 rows.


from(bucket: "example-bucket")
  |> range(start: -5m)
  |> derivative(unit: 1s, nonNegative: true)

New! Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: