Documentation

experimental.alignTime() function

The experimental.alignTime() function is subject to change at any time. By using this function, you accept the risks of experimental functions.

The experimental.alignTime() function aligns input tables to a common start time.

import "experimental"

experimental.alignTime(
    alignTo: 1970-01-01T00:00:00.000000000Z
)

Parameters

alignTo

The UTC time to align tables to. Default is 1970-01-01T00:00:00Z.

tables

Input data. Default is piped-forward data (<-).

Examples

Compare values month-over-month

import "experimental"

from(bucket: "example-bucket")
    |> range(start: -12mo)
    |> filter(fn: (r) => r._measurement == "example-measurement")
    |> window(every: 1mo)
    |> experimental.alignTime()

Given the following input:

_time _value
2020-01-01T00:00:00Z 32.1
2020-01-02T00:00:00Z 32.9
2020-01-03T00:00:00Z 33.2
2020-01-04T00:00:00Z 34.0
2020-02-01T00:00:00Z 38.3
2020-02-02T00:00:00Z 38.4
2020-02-03T00:00:00Z 37.8
2020-02-04T00:00:00Z 37.5

The following functions:

  1. Window data by calendar month creating two separate tables (one for January and one for February).
  2. Align tables to 2020-01-01T00:00:00Z.
//...
    |> window(every: 1mo)
    |> alignTime(alignTo: 2020-01-01T00:00:00Z)

And output:

_time _value
2020-01-01T00:00:00Z 32.1
2020-01-02T00:00:00Z 32.9
2020-01-03T00:00:00Z 33.2
2020-01-04T00:00:00Z 34.0
_time _value
2020-01-01T00:00:00Z 38.3
2020-01-02T00:00:00Z 38.4
2020-01-03T00:00:00Z 37.8
2020-01-04T00:00:00Z 37.5

Each output table represents data from a calendar month. When visualized, data is still grouped by month, but timestamps are aligned to a common start time and values can be compared by time.


Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.