Partager via


Percentile_Disc (Azure Stream Analytics)

Calcule un centile en fonction du jeu de données entier. Pour une valeur de centile donnée P, PERCENTILE_DISC trie les valeurs de l’expression dans la clause ORDER BY et retourne la valeur dans la plus petite distance cumulée supérieure ou égale à P. Par exemple, PERCENTILE_DISC (0,5) calcule le 50e centile (c’est-à-dire la médiane) d’une expression. PERCENTILE_DISC calcule le centile en fonction d’une distribution discrète des valeurs de données ; le résultat est égal à une valeur spécifique des données d’entrée.

Syntaxe

PERCENTILE_DISC ( numeric_literal )
       OVER ( ORDER_BY order_by_expression [ ASC | DESC ])

Arguments

numeric_literal

Percentile à calculer. La valeur doit être comprise entre 0 et 1.

OVER ( ORDER BY order_by_expression [ ASC | DESC] )

Spécifie une liste de valeurs numériques sur laquelle trier et calculer le centile. Un seul argument order_by_expression est autorisé. L’expression doit correspondre à un type numérique. Les autres types de données ne sont pas autorisés. L’ordre de tri par défaut est croissant.

Types de retour

Le type de retour est déterminé par le type order_by_expression.

Exemples

L’exemple suivant utilise PERCENTILE_DISC pour trouver le 95e centile de la disponibilité du service entre les régions. Notez que la fonction retourne toujours un centile qui se trouve dans le jeu de données d’entrée.

SELECT PERCENTILE_DISC(0.95) OVER (ORDER BY serviceAvailability)
FROM testInput
GROUP BY SlidingWindow(hours, 1)

Exemple d’entrée :

Régions ServiceAvailability
Un 0.98
B 0.93
C 0,78
D 0,99
E 0,89

Exemple de sortie :

0,99