rank_tdigest()
计算数据集中值的近似排序。
数据集 S
中值 v
的排序定义为 S
中小于或等于 v
的成员的计数,S
使用其 tdigest
表示。
语法
rank_tdigest(
digest,
value)
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
digest | string |
由 tdigest() 或 tdigest_merge() 生成的一个表达式。 | |
value | 标量 (scalar) | 一个表达式,表示要用于排名计算的值。 |
返回
数据集中每个值的排名。
提示
要获取其排名的值必须与 tdigest
为同一类型。
示例
在排序列表 (1-1000) 中,排名 685 是其索引:
range x from 1 to 1000 step 1
| summarize t_x=tdigest(x)
| project rank_of_685=rank_tdigest(t_x, 685)
输出
rank_of_685 |
---|
685 |
此查询计算所有损坏财产成本的值 4490$ 的排名:
StormEvents
| summarize tdigestRes = tdigest(DamageProperty)
| project rank_of_4490=rank_tdigest(tdigestRes, 4490)
输出
rank_of_4490 |
---|
50207 |
获取排名的估计百分比(通过除以数据集大小):
StormEvents
| summarize tdigestRes = tdigest(DamageProperty), count()
| project rank_tdigest(tdigestRes, 4490) * 100.0 / count_
输出
Column1 |
---|
85.0015237192293 |
损坏财产成本的第 85 个百分位数为 4490$:
StormEvents
| summarize tdigestRes = tdigest(DamageProperty)
| project percentile_tdigest(tdigestRes, 85, typeof(long))
输出
percentile_tdigest_tdigestRes |
---|
4490 |