Percentile_Disc (Azure 流分析)
基于整个数据集计算百分位数。 对于给定的百分位值 P,PERCENTILE_DISC对 ORDER BY 子句中表达式的值进行排序,并返回大于或等于 P 的最小累积距离内的值。例如,PERCENTILE_DISC (0.5) 将计算第 50 百分位 (即表达式的中值) 。 PERCENTILE_DISC根据数据值的离散分布计算百分位数;结果等于输入数据中的特定值。
语法
PERCENTILE_DISC ( numeric_literal )
OVER ( ORDER_BY order_by_expression [ ASC | DESC ])
参数
numeric_literal
要计算的百分位数。 该值的范围必须介于 0 和 1 之间。
over ( ORDER by order_by_expression [ ASC |DESC] )
指定要排序和计算百分位数的数值列表。 仅允许一个 order_by_expression 。 该表达式计算结果必须为数值类型。 不允许其他数据类型。 默认的排序顺序为升序。
返回类型
返回类型由 order_by_expression 类型决定 。
示例
以下示例使用 PERCENTILE_DISC 查找跨区域服务可用性的第 95 百分位。 请注意, 函数将始终返回输入数据集内的百分位数。
SELECT PERCENTILE_DISC(0.95) OVER (ORDER BY serviceAvailability)
FROM testInput
GROUP BY SlidingWindow(hours, 1)
输入示例:
区域 | ServiceAvailability |
---|---|
A | 0.98 |
B | 0.93 |
C | 0.78 |
D | 0.99 |
E | 0.89 |
示例输出:
0.99