Documentation

experimental.unpivot() function

experimental.unpivot() is subject to change at any time.

experimental.unpivot() creates _field and _value columns pairs using all columns (other than _time) not in the group key. The _field column contains the original column label and the _value column contains the original column value.

The output stream retains the group key and all group key columns of the input stream. _field is added to the output group key.

Function type signature
(<-tables: stream[{A with _time: time}], ?otherColumns: [string]) => stream[{B with _value: C, _field: string}] where A: Record, B: Record

For more information, see Function type signatures.

Parameters

tables

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

otherColumns

List of column names that are not in the group key but are also not field columns. Default is ["_time"].

Examples

Unpivot data into _field and _value columns

import "experimental"

data
    |> experimental.unpivot()

View example input and output


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.7

Key enhancements in InfluxDB 3.7 and the InfluxDB 3 Explorer 1.5.

See the Blog Post

InfluxDB 3.7 is now available for both Core and Enterprise, landing alongside version 1.5 of the InfluxDB 3 Explorer UI. This release focuses on giving developers faster visibility into what their system is doing with one-click monitoring, a streamlined installation pathway, and broader updates that simplify day-to-day operations.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2