Skip to main content
Skip to main content

quantilesInterpolatedWeighted

quantilesInterpolatedWeighted

Introduced in: v23.1.0

Computes multiple quantiles of a numeric data sequence using linear interpolation at different levels simultaneously, taking into account the weight of each element.

This function is equivalent to quantileInterpolatedWeighted but allows computing multiple quantile levels in a single pass, which is more efficient than calling individual quantile functions.

Syntax

quantilesInterpolatedWeighted(level1, level2, ...)(expr, weight)

Parameters

  • level — Levels of quantiles. One or more constant floating-point numbers from 0 to 1. We recommend using level values in the range of [0.01, 0.99]. Float*

Arguments

Returned value

Array of quantiles of the specified levels in the same order as the levels were specified. For numeric data types the output format matches the input format. Array((U)Int*) or Array(Int128) or Array(UInt128) or Array(Int256) or Array(UInt256) or Array(Float*) or Array(Decimal*) or Array(Date) or Array(DateTime) or Array(DateTime64)

Examples

Computing multiple interpolated weighted quantiles

SELECT quantilesInterpolatedWeighted(0.25, 0.5, 0.75)(number, 1) FROM numbers(10)
┌─quantilesInterpolatedWeighted(0.25, 0.5, 0.75)(number, 1)─┐
│ [2,4,7]                                                   │
└───────────────────────────────────────────────────────────┘