InfluxDB Docs

Query cumulative sum

Use the cumulativeSum() function to calculate a running total of values. cumulativeSum sums the values of subsequent records and returns each row updated with the summed total.

Given the following input table:

_time_value
00011
00022
00031
00043

cumulativeSum() returns:

_time_value
00011
00023
00034
00047

The examples below use the example data variable.

Calculate the running total of values
data
  |> cumulativeSum()

Use cumulativeSum() with aggregateWindow()

aggregateWindow() segments data into windows of time, aggregates data in each window into a single point, then removes the time-based segmentation. It is primarily used to downsample data.

aggregateWindow() expects an aggregate function that returns a single row for each time window. To use cumulativeSum() with aggregateWindow, use sum in aggregateWindow(), then calculate the running total of the aggregate values with cumulativeSum().

data
  |> aggregateWindow(every: 5m, fn: sum)
  |> cumulativeSum()

New! Cloud or OSS?