Я работаю над получением будущих денежных потоков с использованием SQL. Он включает непогашенный остаток, стандартный платеж, проценты и основную сумму. В настоящее время у меня есть отчет в Excel, но мне нужно получить то же самое в Teradata.
Я хотел бы разделить мой вопрос на две части:
Получить текущий баланс и процентные ставки из таблицы (достаточно просто)
Генерация будущих дат и проекта на следующие 20 дней (не знаю, как это сделать)
Я до сих пор пробовал функции Windows, но не смог этого сделать.
SELECT
"Account Number"
,"Business Date"
,"Outstanding Balance"
,"Standard Payment"
,"Current Balance" - "Standard Payment" "Dummy Balance"
,MAX("Dummy Balance" ) OVER (PARTITION BY "Account Number" ORDER BY "Business Date" ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING )"Prev Balance"
FROM table
where [<Conditions>]
GROUP BY 1,2,3,4
ORDER BY "NEXT DAYS";
Как и на рисунке, конечное сальдо возвращается к полю начального сальдо, а проценты и основная сумма рассчитываются на основе этого нового значения начального сальдо.
Например, первая строка имеет значение начального сальдо как 100, проценты и основная сумма рассчитываются на основе 100 и затем вычитаются из начального сальдо для получения конечного сальдо, равного 99.70200384. В следующей строке это становится начальным балансом, и все остальные значения рассчитываются на основе этого.
Возможно ли это сделать в SQL?