quantileInterpolatedWeighted
Introduit dans : v23.1.0
Calcule le quantile d’une séquence de données numériques par interpolation linéaire, en tenant compte du poids de chaque élément.
Pour obtenir la valeur interpolée, toutes les valeurs transmises sont regroupées dans un tableau, puis triées selon les poids correspondants. L’interpolation des quantiles est ensuite effectuée à l’aide de la méthode du percentile pondéré, en construisant une distribution cumulative à partir des poids, puis en réalisant une interpolation linéaire à partir des poids et des valeurs pour calculer les quantiles.
Lorsque plusieurs fonctions quantile* avec des niveaux différents sont utilisées dans une requête, les états internes ne sont pas combinés (c’est-à-dire que la requête est moins efficace qu’elle pourrait l’être).
Dans ce cas, utilisez la fonction quantiles.
Syntaxe
quantileInterpolatedWeighted(level)(expr, weight)Alias : medianInterpolatedWeighted
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. Pourlevel=0.5, la fonction calcule la médiane.Float*
Arguments
expr— Expression appliquée aux valeurs de la colonne, dont le résultat est de type numérique,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 d'un quantile pondéré interpolé
CREATE TABLE t (
n Int32,
val UInt32
) ENGINE = Memory;
INSERT INTO t VALUES (0, 3), (1, 2), (2, 1), (5, 4);
SELECT quantileInterpolatedWeighted(n, val) FROM t;┌─quantileInterpolatedWeighted(n, val)─┐
│ 1 │
└──────────────────────────────────────┘Voir aussi