Variable types

This page documents an earlier version of InfluxDB. InfluxDB v2.7 is the latest stable version. View this page in the v2.7 documentation.

Variable types determine how a variable’s list of possible values is populated. The following variable types are available:

Map

Map variables use a list of key value pairs in CSV format to map keys to specific values. Keys populate the variable’s value list in the InfluxDB user interface (UI), but values are used when actually processing the query.

The most common use case for map variables is aliasing simple, human-readable keys to complex values.

Map variable example
  1. Juanito MacNeil,"5TKl6l8i4idg15Fxxe4P"
  2. Astrophel Chaudhary,"bDhZbuVj5RV94NcFXZPm"
  3. Ochieng Benes,"YIhg6SoMKRUH8FMlHs3V"
  4. Mila Emile,"o61AhpOGr5aO3cYVArC0"

Query

Query variable values are populated using the _value column of a Flux query.

Query variable example
  1. // List all buckets
  2. buckets()
  3. |> rename(columns: {"name": "_value"})
  4. |> keep(columns: ["_value"])

For examples of dashboard variable queries, see Common variable queries.

Important things to note about variable queries

  • The variable will only use values from the _value column. If the data you’re looking for is in a column other than _value, use the rename() or map() functions to change the name of that column to _value.
  • The variable will only use the first table in the output stream. Use the group() function to group everything into a single table.
  • Do not use any predefined dashboard variables in variable queries.

CSV

CSV variables use a CSV-formatted list to populate variable values. A common use case is when the list of potential values is static and cannot be queried from InfluxDB.

CSV variable examples
  1. value1, value2, value3, value4
  1. value1
  2. value2
  3. value3
  4. value4

Use custom dashboard variables

Use the Flux v record and dot or bracket notation to access custom dashboard variables.

For example, to use a custom dashboard variable named exampleVar in a query, reference the variable with v.exampleVar:

  1. from(bucket: "telegraf")
  2. |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  3. |> filter(fn: (r) => r._measurement == "cpu" )
  4. |> filter(fn: (r) => r._field == "usage_user" )
  5. |> filter(fn: (r) => r.cpu == v.exampleVar)

To select variable values:

  • In a dashboard: Use the dashboard variable drop-down menus at the top of your dashboard.
  • In the Script Editor: Click the Variables tab on the right of the Script Editor, click the name of the variable, and then select the variable value from the drop-down menu.

For more on using dashboard variables, see Use and manage variables.

variables