Умножьте значение на ранее рассчитанное значение - PullRequest
1 голос
/ 17 октября 2019

Я работаю над прогнозной моделью и застрял, автоматизируя тренд с течением времени в sql. То, что я пытаюсь сделать, это умножить каждую строку на ранее полученное число, а затем умножить следующую строку на вычисленную предыдущую строку. Вот базовая визуализация:

date          num_reqs  cumulative_value   cumulative value formula                                           
2019-10-01  246.4   276                  num_reqs * 1.12     
2019-10-02  246.4   309        previous cum_value * 1.12
2019-10-03  246.4   346        previous cum_value * 1.12
2019-10-04  246.4   388        previous cum_value * 1.12
2019-10-05  246.4   435        previous cum_value * 1.12

Я пробовал несколько вариантов lag (), но я не думаю, что lag допускает кумуляцию. Я также пробовал exp (), но он не работает с моими значениями.

1 Ответ

0 голосов
/ 17 октября 2019

Вы можете использовать возведение в степень, чтобы сделать это. Я думаю, что вы хотите:

select t.*,
       numreqs * power(1.12, row_number() over (order by date)) as cumulative_value
from t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...