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
一个 0.98
B 0.93
C 0.78
D 0.99
E 0.89

示例输出:

0.99