Aller au contenu

Calcule un quantile approximatif d’une séquence de données numériques à l’aide de l’algorithme t-digest.

func.quantile_tdigest(<levels>, <expr>)
func.quantile_tdigest([0.5, 0.8], table.sales_amount).alias('sales_amounts')
| sales_amounts |
|-----------------------+
| [6000.0,7000.0] |
QUANTILE_TDIGEST(<level1>[, <level2>, ...])(<expr>)
Arguments Description
<level n> Un niveau de quantile est un nombre à virgule flottante constant compris entre 0 et 1. Il est recommandé d’utiliser une valeur de niveau comprise entre 0,01 et 0,99.
<expr> Toute expression numérique

Renvoie une valeur Float64 ou un tableau de valeurs Float64, selon le nombre de niveaux de quantile spécifiés.

-- Create a table and insert sample data
CREATE TABLE sales_data (
id INT,
sales_person_id INT,
sales_amount FLOAT
);
INSERT INTO sales_data (id, sales_person_id, sales_amount)
VALUES (1, 1, 5000),
(2, 2, 5500),
(3, 3, 6000),
(4, 4, 6500),
(5, 5, 7000);
SELECT QUANTILE_TDIGEST(0.5)(sales_amount) AS median_sales_amount
FROM sales_data;
median_sales_amount|
-------------------+
6000.0|
SELECT QUANTILE_TDIGEST(0.5, 0.8)(sales_amount)
FROM sales_data;
quantile_tdigest(0.5, 0.8)(sales_amount)|
----------------------------------------+
[6000.0,7000.0] |