tmpercentile
语法
tmpercentile(T, X, percent, window, [interpolation='linear'])
部分通用参数说明和窗口计算规则请参考:tmFunctions
参数
percent 是0到100之间的整数或小数。
interpolation 是一个字符串,表示当选中的分位点位于在 X 的第 i 和第 i+1
个元素之间时,采用的插值方法。它具有以下取值:
-
'linear': 其中
-
'lower':
-
'higher':
-
'nearest': 和之中最接近分位点的数据
-
'midpoint':
如果没有指定 interpolation,默认采用 'linear'。
详情
在给定长度(以时间 T 衡量)的滑动窗口内计算 X 元素在其对应窗口内的百分位数。
例子
T = 1 1 1 2 5 6
X = 1 4 NULL -1 NULL 4
m = table(T as t,X as x)
select *, tmpercentile(t, x, 3) from m
t | x | tmpercentile_t |
---|---|---|
1 | 5 | 5 |
1 | 2 | 2.3 |
3 | 4 | 2.4 |
5 | 1 | 1.3 |
8 | 2 | 2 |
15 | 8 | 8 |
15 | 9 | 8.1 |
20 | 10 | 10 |
T = 2021.01.02 2021.01.02 2021.01.04 2021.01.05 2021.01.07 2021.01.08
X = NULL 4 NULL -1 2 4
m = table(T as t,X as x)
select *, tmpercentile(t, x, 50, 3d) from m
t | x | tmpercentile_t |
---|---|---|
2021.01.02 | ||
2021.01.02 | 4 | 4 |
2021.01.04 | 4 | |
2021.01.05 | -1 | -1 |
2021.01.07 | 2 | 0.5 |
2021.01.08 | 4 | 3 |
select *, tmpercentile(t, x, 50, 1w) from m
t | x | tmpercentile_t |
---|---|---|
2021.01.02 | ||
2021.01.02 | 4 | 4 |
2021.01.04 | 4 | |
2021.01.05 | -1 | 1.5 |
2021.01.07 | 2 | 2 |
2021.01.08 | 4 | 3 |
相关函数:percentile, mpercentile