Percentile_Disc (Azure Stream Analytics)
Calcula um percentil com base em todo o conjunto de dados. Para um determinado valor de percentil P, PERCENTILE_DISC ordena os valores da expressão na cláusula ORDER BY e devolve o valor dentro da menor distância cumulativa maior ou igual a P. Por exemplo, PERCENTILE_DISC (0,5) calculará o percentil 50 (ou seja, a mediana) de uma expressão. PERCENTILE_DISC calcula o percentil com base numa distribuição discreta dos valores de dados; o resultado é igual a um valor específico dos dados de entrada.
Sintaxe
PERCENTILE_DISC ( numeric_literal )
OVER ( ORDER_BY order_by_expression [ ASC | DESC ])
Argumentos
numeric_literal
O percentil a calcular. O valor tem de variar entre 0 e 1.
OVER ( ORDER BY order_by_expression [ ASC | DESC] )
Especifica uma lista de valores numéricos para ordenar e calcular o percentil. Só é permitido um order_by_expression. A expressão tem de ser avaliada como um tipo numérico. Não são permitidos outros tipos de dados. A sequência de ordenação predefinida é ascendente.
Tipos de Retorno
O tipo de retorno é determinado pelo tipo de order_by_expression.
Exemplos
O exemplo seguinte utiliza PERCENTILE_DISC para encontrar o percentil 95 da disponibilidade do serviço entre regiões. Tenha em atenção que a função devolverá sempre um percentil dentro do conjunto de dados de entrada.
SELECT PERCENTILE_DISC(0.95) OVER (ORDER BY serviceAvailability)
FROM testInput
GROUP BY SlidingWindow(hours, 1)
Entrada de exemplo:
Regiões | ServiceAvailability |
---|---|
A | 0.98 |
B | 0.93 |
C | 0.78 |
D | 0.99 |
E | 0.89 |
Saída de exemplo:
0.99