Documentation

histogramQuantile() function

histogramQuantile() approximates a quantile given a histogram that approximates the cumulative distribution of the dataset.

Each input table represents a single histogram. The histogram tables must have two columns – a count column and an upper bound column.

The count is the number of values that are less than or equal to the upper bound value. The table can have any number of records, each representing a bin in the histogram. The counts must be monotonically increasing when sorted by upper bound. If any values in the count column or upper bound column are null, it returns an error. The count and upper bound columns must not be part of the group key.

The quantile is computed using linear interpolation between the two closest bounds. If either of the bounds used in interpolation are infinite, the other finite bound is used and no interpolation is performed.

Output tables

Output tables have the same group key as corresponding input tables. Columns not part of the group key are dropped. A single value column of type float is added. The value column represents the value of the desired quantile from the histogram.

Function type signature
(
    <-tables: stream[A],
    ?countColumn: string,
    ?minValue: float,
    ?quantile: float,
    ?upperBoundColumn: string,
    ?valueColumn: string,
) => stream[B] where A: Record, B: Record
For more information, see Function type signatures.

Parameters

quantile

Quantile to compute. Value must be between 0 and 1.

countColumn

Column containing histogram bin counts. Default is _value.

upperBoundColumn

Column containing histogram bin upper bounds. Default is le.

valueColumn

Column to store the computed quantile in. Default is `_value.

minValue

Assumed minimum value of the dataset. Default is 0.0.

If the quantile falls below the lowest upper bound, interpolation is performed between minValue and the lowest upper bound. When minValue is equal to negative infinity, the lowest upper bound is used.

tables

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

Examples

Compute the 90th quantile of a histogram

data
    |> histogramQuantile(quantile: 0.9)

View example input and output


Was this page helpful?

Thank you for your feedback!


Linux Package Signing Key Rotation

All signed InfluxData Linux packages have been resigned with an updated key. If using Linux, you may need to update your package configuration to continue to download and verify InfluxData software packages.

For more information, see the Linux Package Signing Key Rotation blog post.

InfluxDB Cloud backed by InfluxDB IOx

All InfluxDB Cloud organizations created on or after January 31, 2023 are backed by the new InfluxDB IOx storage engine. Check the right column of your InfluxDB Cloud organization homepage to see which InfluxDB storage engine you’re using.

If powered by IOx, this is the correct documentation.

If powered by TSM, see the TSM-based InfluxDB Cloud documentation.

InfluxDB Cloud backed by InfluxDB TSM

All InfluxDB Cloud organizations created on or after January 31, 2023 are backed by the new InfluxDB IOx storage engine which enables nearly unlimited series cardinality and SQL query support. Check the right column of your InfluxDB Cloud organization homepage to see which InfluxDB storage engine you’re using.

If powered by TSM, this is the correct documentation.

If powered by IOx, see the IOx-based InfluxDB Cloud documentation.

State of the InfluxDB Cloud (IOx) documentation

The new documentation for InfluxDB Cloud backed by InfluxDB IOx 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.