quantileExactWeighted
Introduit dans : v1.1.0
Calcule exactement le quantile d’une séquence de données numériques, en tenant compte du poids de chaque élément.
Pour obtenir la valeur exacte, toutes les valeurs fournies sont combinées dans un tableau, qui est ensuite partiellement trié.
Chaque valeur est comptée selon son poids, comme si elle était présente weight fois.
Une table de hachage est utilisée dans l’algorithme.
Par conséquent, si les valeurs fournies se répètent fréquemment, la fonction consomme moins de RAM que quantileExact.
Vous pouvez utiliser cette fonction à la place de quantileExact et indiquer un poids de 1.
Lorsque plusieurs fonctions quantile* avec des niveaux différents sont utilisées dans une requête, les états internes ne sont pas combinés (autrement dit, la requête est moins efficace qu’elle pourrait l’être).
Dans ce cas, utilisez la fonction quantiles.
Syntaxe
quantileExactWeighted(level)(expr, weight)Alias : medianExactWeighted
Paramètres
level— Facultatif. Niveau du quantile. Nombre constant à virgule flottante compris entre 0 et 1. Nous recommandons d’utiliser une valeur delevelcomprise dans l’intervalle[0.01, 0.99]. Valeur par défaut : 0.5. Aveclevel=0.5, la fonction calcule la médiane.Float*
Arguments
expr— Expression appliquée aux valeurs de la colonne, produisant des types de données numériques,Date,DateTimeouDateTime64.(U)Int*ouInt128ouUInt128ouInt256ouUInt256ouFloat*ouDecimal*ouDateouDateTimeouDateTime64weight— Colonne contenant les poids des éléments de la séquence. Le poids correspond au nombre d’occurrences d’une valeur.UInt*
Valeur renvoyée
Quantile du niveau spécifié. Pour les types de données numériques, le format de sortie correspond au format d’entrée. (U)Int* ou Int128 ou UInt128 ou Int256 ou UInt256 ou Float* ou Decimal* ou Date ou DateTime ou DateTime64
Exemples
Calcul du quantile pondéré exact
CREATE TABLE t (
n Int32,
val UInt32
) ENGINE = Memory;
-- Insert the sample data
INSERT INTO t VALUES
(0, 3),
(1, 2),
(2, 1),
(5, 4);
SELECT quantileExactWeighted(n, val) FROM t;┌─quantileExactWeighted(n, val)─┐
│ 1 │
└───────────────────────────────┘Voir aussi