quantilesExactExclusive
Introduit dans : v20.1.0
Calcule exactement plusieurs quantiles d’une suite de valeurs numériques à différents niveaux, simultanément, à l’aide de la méthode exclusive.
Cette fonction est équivalente à quantileExactExclusive, mais elle permet de calculer plusieurs niveaux de quantile en un seul passage, ce qui est plus efficace que d’appeler séparément des fonctions de quantile.
Cette fonction utilise la méthode exclusive pour calculer les quantiles, comme décrit dans la méthode R-6. Elle est équivalente à la fonction Excel PERCENTILE.EXC.
Pour obtenir des valeurs exactes, toutes les valeurs passées en argument sont regroupées dans un tableau, qui est ensuite partiellement trié.
La complexité de l’algorithme de tri est de O(N·log(N)), où N = std::distance(first, last).
Syntaxe
quantilesExactExclusive(level1, level2, ...)(expr)Paramètres
level— Niveaux de quantile. Nombres à virgule flottante constants strictement compris entre 0 et 1. Nous recommandons d’utiliser des valeurs deleveldans l’intervalle(0.01, 0.99).Float*
Arguments
expr— Expression sur les valeurs de la colonne produisant des types de données numériques,DateouDateTime.(U)Int*ouFloat*ouDateouDateTime
Valeur renvoyée
Tableau de quantiles des niveaux spécifiés, dans le même ordre que celui des niveaux indiqués. Array(Float64)
Exemples
Calcul de plusieurs quantiles exacts exclusifs
CREATE TABLE num AS numbers(1000);
SELECT quantilesExactExclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number) FROM num;┌─quantilesExactExclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number)─┐
│ [249.25,499.5,749.75,899.9,949.9499999999999,989.99,998.999] │
└──────────────────────────────────────────────────────────────────────────┘