mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-17 13:13:36 +00:00
94499ca9cd
Co-authored-by: gyuton <40863448+gyuton@users.noreply.github.com>
2.9 KiB
2.9 KiB
toc_priority |
---|
108 |
exponentialMovingAverage
Вычисляет экспоненциальное скользящее среднее.
Синтакис:
exponentialMovingAverage(x)(value, timestamp)
Каждой точке timestamp
на временном отрезке соответствует определенное значение value
. Период полу-распада — временной интервал х
, в течение которого учитываются предыдущие значения. Функция возвращает взвешенное среднее: чем старше временная точка, тем c меньшим весом считается соответствующее ей значение.
Аргументы
value
— входные значения. Integer, Float или Decimal.timestamp
- параметр для упорядочивания значений, должен быть типа Integer.
Параметры
x
— период полураспада. Integer.
Возвращаемые значения:
- Возвращает экспоненциальное скользящее среднее.
Тип: Float64.
Пример
Исходная таблица:
┌──temperature─┬─timestamp──┐
│ 95 │ 1 │
│ 95 │ 2 │
│ 95 │ 3 │
│ 96 │ 4 │
│ 96 │ 5 │
│ 96 │ 6 │
│ 96 │ 7 │
│ 97 │ 8 │
│ 97 │ 9 │
│ 97 │ 10 │
│ 97 │ 11 │
│ 98 │ 12 │
│ 98 │ 13 │
│ 98 │ 14 │
│ 98 │ 15 │
│ 99 │ 16 │
│ 99 │ 17 │
│ 99 │ 18 │
│ 100 │ 19 │
│ 100 │ 20 │
└──────────────┴────────────┘
Запрос:
exponentialMovingAverage(5)(temperature, timestamp)
Результат:
┌──exponentialMovingAverage(5)(temperature, timestamp)──┐
│ 92.25779635374204 │
└───────────────────────────────────────────────────────┘