keys() function

keys() returns the columns that are in the group key of each input table.

Each output table contains a row for each group key column label. A single group key column label is stored in the specified column for each row. All columns not in the group key are dropped.

Function type signature
(<-tables: stream[A], ?column: string) => stream[B] where A: Record, B: Record
For more information, see Function type signatures.



Column to store group key labels in. Default is _value.


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


Return group key columns for each input table

    |> keys()

View example input and output

Return all distinct group key columns in a single table

    |> keys()
    |> keep(columns: ["_value"])
    |> distinct()

View example input and output

Return group key columns as an array

  1. Use keys() to replace the _value column with the group key labels.
  2. Use findColumn() to return the _value column as an array.
import "sampledata"
    |> keys()
    |> findColumn(fn: (key) => true, column: "_value")// Returns [tag]

Was this page helpful?

Thank you for your feedback!

Introducing InfluxDB 3.0

The new core of InfluxDB built with Rust and Apache Arrow. Available today in InfluxDB Cloud Dedicated.

Learn more

State of the InfluxDB Cloud Serverless documentation

The new documentation for InfluxDB Cloud Serverless is a work in progress. We are adding new information and content almost daily. Thank you for your patience!

If there is specific information you’re looking for, please submit a documentation issue.