quantile() function

The quantile() function returns records from an input table with _values that fall within a specified quantile or it returns the record with the _value that represents the specified quantile. Which it returns depends on the method used.

Function type: Aggregate or Selector
Output data type: Float or Object

quantile(
  columns: ["_value"],
  q: 0.99,
  method: "estimate_tdigest",
  compression: 1000.0
)

When using the estimate_tdigest or exact_mean methods, it outputs non-null records with values that fall within the specified quantile.

When using the exact_selector method, it outputs the non-null record with the value that represents the specified quantile.

Parameters

columns

A list of columns on which to compute the quantile. Defaults to ["_value"].

Data type: Array of strings

q

A value between 0 and 1 indicating the desired quantile.

Data type: Float

method

Defines the method of computation.

Data type: String

The available options are:

estimate_tdigest

An aggregate method that uses a t-digest data structure to compute an accurate quantile estimate on large data sources.

exact_mean

An aggregate method that takes the average of the two points closest to the quantile value.

exact_selector

A selector method that returns the data point for which at least quantile points are less than.

compression

Indicates how many centroids to use when compressing the dataset. A larger number produces a more accurate result at the cost of increased memory requirements. Defaults to 1000.0.

Data type: Float

Examples

Quantile as an aggregate
from(bucket: "telegraf/autogen")
	|> range(start: -5m)
	|> filter(fn: (r) =>
    r._measurement == "cpu" and
    r._field == "usage_system")
	|> quantile(
    q: 0.99,
    method: "estimate_tdigest",
    compression: 1000.0
  )
Quantile as a selector
from(bucket: "telegraf/autogen")
	|> range(start: -5m)
	|> filter(fn: (r) =>
    r._measurement == "cpu" and
    r._field == "usage_system")
	|> quantile(
    q: 0.99,
    method: "exact_selector"
  )

PERCENTILE()

This documentation is open source. See a typo? Please, open an issue.


Need help getting up and running? Get Support