quantile() function
The quantile()
function returns records from an input table with _value
s 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.
quantile()
supports columns with float values.
Function type: Aggregate or Selector
Output data type: Float | Record
quantile(
column: "_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
column
The column to use to compute the quantile.
Defaults to "_value"
.
Data type: String
q
A value between 0 and 1 indicating the desired quantile.
Data type: Float
method
Defines the method of computation.
Default is estimate_tdigest
.
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 q
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: "example-bucket")
|> 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: "example-bucket")
|> range(start: -5m)
|> filter(fn: (r) =>
r._measurement == "cpu" and
r._field == "usage_system")
|> quantile(
q: 0.99,
method: "exact_selector"
)
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, the following resources are available:
InfluxDB Cloud and InfluxDB Enterprise customers can contact InfluxData Support.