exponentialTimeDecayedMax
exponentialTimeDecayedMax
引入版本:v21.12
返回时间点 t 与 t-1 处计算得到的指数平滑移动平均值中的最大值。
语法
exponentialTimeDecayedMax(x)(value, timeunit)
参数
参数列表
value— 数值。(U)Int*或Float*或Decimaltimeunit— 时间单位。(U)Int*或Float*或Decimal或DateTime或DateTime64
返回值
返回在 t 和 t-1 时刻的指数平滑加权移动平均值中的最大值。Float64
示例
带可视化图示的窗口函数用法
SELECT
value,
time,
round(exp_smooth, 3),
bar(exp_smooth, 0, 5, 50) AS bar
FROM
(
SELECT
(number = 0) OR (number >= 25) AS value,
number AS time,
exponentialTimeDecayedMax(10)(value, time) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS exp_smooth
FROM numbers(50)
);
┌─value─┬─time─┬─round(exp_smooth, 3)─┬─bar────────┐
│ 1 │ 0 │ 1 │ ██████████ │
│ 0 │ 1 │ 0.905 │ █████████ │
│ 0 │ 2 │ 0.819 │ ████████▏ │
│ 0 │ 3 │ 0.741 │ ███████▍ │
│ 0 │ 4 │ 0.67 │ ██████▋ │
│ 0 │ 5 │ 0.607 │ ██████ │
│ 0 │ 6 │ 0.549 │ █████▍ │
│ 0 │ 7 │ 0.497 │ ████▉ │
│ 0 │ 8 │ 0.449 │ ████▍ │
│ 0 │ 9 │ 0.407 │ ████ │
│ 0 │ 10 │ 0.368 │ ███▋ │
│ 0 │ 11 │ 0.333 │ ███▎ │
│ 0 │ 12 │ 0.301 │ ███ │
│ 0 │ 13 │ 0.273 │ ██▋ │
│ 0 │ 14 │ 0.247 │ ██▍ │
│ 0 │ 15 │ 0.223 │ ██▏ │
│ 0 │ 16 │ 0.202 │ ██ │
│ 0 │ 17 │ 0.183 │ █▊ │
│ 0 │ 18 │ 0.165 │ █▋ │
│ 0 │ 19 │ 0.15 │ █▍ │
│ 0 │ 20 │ 0.135 │ █▎ │
│ 0 │ 21 │ 0.122 │ █▏ │
│ 0 │ 22 │ 0.111 │ █ │
│ 0 │ 23 │ 0.1 │ █ │
│ 0 │ 24 │ 0.091 │ ▉ │
│ 1 │ 25 │ 1 │ ██████████ │
│ 1 │ 26 │ 1 │ ██████████ │
│ 1 │ 27 │ 1 │ ██████████ │
│ 1 │ 28 │ 1 │ ██████████ │
│ 1 │ 29 │ 1 │ ██████████ │
│ 1 │ 30 │ 1 │ ██████████ │
│ 1 │ 31 │ 1 │ ██████████ │
│ 1 │ 32 │ 1 │ ██████████ │
│ 1 │ 33 │ 1 │ ██████████ │
│ 1 │ 34 │ 1 │ ██████████ │
│ 1 │ 35 │ 1 │ ██████████ │
│ 1 │ 36 │ 1 │ ██████████ │
│ 1 │ 37 │ 1 │ ██████████ │
│ 1 │ 38 │ 1 │ ██████████ │
│ 1 │ 39 │ 1 │ ██████████ │
│ 1 │ 40 │ 1 │ ██████████ │
│ 1 │ 41 │ 1 │ ██████████ │
│ 1 │ 42 │ 1 │ ██████████ │
│ 1 │ 43 │ 1 │ ██████████ │
│ 1 │ 44 │ 1 │ ██████████ │
│ 1 │ 45 │ 1 │ ██████████ │
│ 1 │ 46 │ 1 │ ██████████ │
│ 1 │ 47 │ 1 │ ██████████ │
│ 1 │ 48 │ 1 │ ██████████ │
│ 1 │ 49 │ 1 │ ██████████ │
└───────┴──────┴──────────────────────┴────────────┘