quantilesDeterministic
Introduit dans : v1.1.0
Calcule simultanément plusieurs quantiles approximatifs d’une séquence de données numériques à différents niveaux, à l’aide d’un échantillonnage en réservoir déterministe.
Cette fonction est équivalente à quantileDeterministic, mais elle permet de calculer plusieurs niveaux de quantile en une seule passe, ce qui est plus efficace que d’appeler des fonctions de quantile individuellement.
Syntaxe
quantilesDeterministic(level1, level2, ...)(expr, determinator)Paramètres
level— Niveaux de quantiles. Un ou plusieurs nombres constants à virgule flottante compris entre 0 et 1. Nous recommandons d'utiliser des valeursleveldans la plage[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*ouInt128ouUInt128ouInt256ouUInt256ouFloat*ouDateouDateTimedeterminator— Nombre dont le hachage est utilisé à la place d'un générateur de nombres aléatoires dans l'algorithme d'échantillonnage en réservoir afin de rendre le résultat de l'échantillonnage déterministe.UInt*
Valeur de retour
Tableau de quantiles approximatifs pour les niveaux spécifiés, dans le même ordre que celui où les niveaux ont été indiqués. Array(Float64) ou Array(Date) ou Array(DateTime)
Exemples
Calcul de plusieurs quantiles déterministes
SELECT quantilesDeterministic(0.25, 0.5, 0.75)(number, number) FROM numbers(10)┌─quantilesDeterministic(0.25, 0.5, 0.75)(number, number)─┐
│ [2.25,4.5,6.75] │
└─────────────────────────────────────────────────────────┘