TDIGEST.RANK

Syntax
TDIGEST.RANK key value [value ...]
Available in:
Redis Open Source / Bloom 2.4.0
Time complexity:
O(N) where N is the number of values specified.
ACL categories:
@tdigest, @read,

Returns, for each floating-point input value, the estimated rank of the value (the number of observations in the sketch that are smaller than the value + half the number of observations that are equal to the value). Multiple ranks can be retrieved in a single call.

Required arguments

key

is the key name for an existing t-digest sketch.

value

is the input value for which the rank should be estimated.

Examples

redis> TDIGEST.CREATE s COMPRESSION 1000
OK
redis> TDIGEST.ADD s 10 20 30 40 50 60
OK
redis> TDIGEST.RANK s 0 10 20 30 40 50 60 70
1) (integer) -1
2) (integer) 0
3) (integer) 1
4) (integer) 2
5) (integer) 3
6) (integer) 4
7) (integer) 5
8) (integer) 6
redis> TDIGEST.REVRANK s 0 10 20 30 40 50 60 70
1) (integer) 6
2) (integer) 5
3) (integer) 4
4) (integer) 3
5) (integer) 2
6) (integer) 1
7) (integer) 0
8) (integer) -1  
redis> TDIGEST.CREATE s COMPRESSION 1000
OK
redis> TDIGEST.ADD s 10 10 10 10 20 20
OK
redis> TDIGEST.RANK s 10 20
1) (integer) 2
2) (integer) 5
redis> TDIGEST.REVRANK s 10 20
1) (integer) 4
2) (integer) 1

Return information

One of the following:

  • Array of integers populated with rank_1, rank_2, ..., rank_V:

    • -1 when value is smaller than the value of the smallest observation.
    • The number of observations when value is larger than the value of the largest observation.
    • Otherwise, an estimation of the number of (observations smaller than value + half the observations equal to value).

    0 is the rank of the value of the smallest observation.

    n-1 is the rank of the value of the largest observation, where n denotes the number of observations added to the sketch.

    All values are -2 if the sketch is empty.

  • Simple error reply in these cases: the given key does not exist or is of an incorrect type, quantile parsing errors, or incorrect number of arguments.