2021-11-14 13:52:07 +00:00
---
toc_priority: 108
---
2021-11-13 20:18:59 +00:00
## exponentialMovingAverage {#exponential-moving-average}
Вычисляет экспоненциальное скользящее среднее.
**Синтакис:**
```sql
exponentialMovingAverage(x)(value, timestamp)
```
2021-11-16 09:54:26 +00:00
Каждой точке `timestamp` на временном отрезке соответствует определенное значение `value` . Период полу-распада — временной интервал `х ` , в течение которого учитываются предыдущие значения. Функция возвращает взвешенное среднее: чем старше временная точка, тем c меньшим весом считается соответствующее ей значение.
2021-11-13 20:18:59 +00:00
2021-11-16 09:56:51 +00:00
**Аргументы**
2021-11-16 09:54:52 +00:00
- `value` — входные значения. [Integer ](../../../sql-reference/data-types/int-uint.md ), [Float ](../../../sql-reference/data-types/float.md ) или [Decimal ](../../../sql-reference/data-types/decimal.md ).
2021-11-13 20:18:59 +00:00
- `timestamp` - параметр для упорядочивания значений, должен быть типа [Integer ](../../../sql-reference/data-types/int-uint.md ).
**Параметры**
2021-11-16 09:57:02 +00:00
2021-11-16 09:55:24 +00:00
- `x` — период полураспада. [Integer ](../../../sql-reference/data-types/int-uint.md ).
2021-11-13 20:18:59 +00:00
2021-11-16 09:57:08 +00:00
**Возвращаемые значения**
2021-11-16 09:55:36 +00:00
- Возвращает экспоненциальное скользящее среднее.
2021-11-13 20:18:59 +00:00
Тип: [Float64 ](../../../sql-reference/data-types/float.md#float32-float64 ).
**Пример**
Исходная таблица:
``` text
┌──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 │
└──────────────┴────────────┘
```
Запрос:
```sql
exponentialMovingAverage(5)(temperature, timestamp)
```
Результат:
``` text
┌──exponentialMovingAverage(5)(temperature, timestamp)──┐
│ 92.25779635374204 │
└───────────────────────────────────────────────────────┘
```