InfluxDB Docs

experimental.chain() function

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

The experimental.chain() function runs two queries in a single Flux script sequentially and outputs the results of the second query. Flux typically executes multiple queries in a single script in parallel. Running the queries sequentially ensures any dependencies the second query has on the results of the first query are met.

Applicable use cases
  • Writing to a bucket and querying the written data in a single Flux script or InfluxDB task.
  • Execute queries sequentially in testing scenarios.

Function type: Miscellaneous

import "experimental"

experimental.chain(
  first: query1,
  second: query2
)

Parameters

first

The first query to execute.

Data type: Stream of tables

second

The second query to execute.

Data type: Stream of tables

Examples

Write to a bucket and query the written data

import "experimental"

downsampled_max = from(bucket: "example-bucket-1")
  |> range(start: -1d)
  |> filter(fn: (r) => r._measurement == "example-measurement")
  |> aggregateWindow(every: 1h, fn: max)
  |> to(bucket: "downsample-1h-max", org: "example-org")

average_max = from(bucket: "downsample-1h-max")
  |> range(start: -1d)
  |> filter(fn: (r) => r.measurement == "example-measurement")
  |> mean()

experimental.chain(
  first: downsampled_max,
  second: average_max
)

New! Cloud or OSS?