我正在寻找一种方法来计算每周还款后每月的贷款剩余余额,全部都在一个类似SELECT的查询中
SELECT
CASE
WHEN frequency = 'Monthly' THEN balance * (1+ 1/12/100 * rate) - freq_based_payment
WHEN frequency = 'Biweekly' THEN...
WHEN frequency = 'Weekly' THEN...
END AS expected_balance
...
FROM table
例如,我可以执行类似的代码,但是我正在寻找一种更好,更清洁的方法,因为在“每周”中,这会变得可笑。
SELECT
CASE
WHEN frequency = 'Monthly' THEN balance * (1+ 1/12/100 * rate) - freq_based_payment
WHEN frequency = 'Biweekly' THEN
(balance * (1+ 1/26/100 * rate) - freq_based_payment) *
(1+ 1/26/100 * rate) - freq_based_payment
WHEN frequency = 'Weekly' THEN...
END AS expected_balance
...
FROM table
我是SAS和proc sql的新手,到目前为止,我已经找到了MORT(),但是它没有用。
答案 0 :(得分:0)
@wimz,根据注释,您是重构代码还是重写代码?
从会计角度来看,使用26.071 ...(或任何其他分数)之类的值是有缺陷的-会计计算通常比初次出现要困难得多,除非您已获得明确许可使用财务近似值计算(实际上是闻所未闻的!)。
如果您每两周支付$ 20且期初余额为$ 500,则下个月到期的余额取决于每两周周期的开始日期,月份的长度以及其他各种因素。
例如,考虑2月-您可以在1月15日和15日进行付款,下一次付款将在2月29日或3月1日进行。仅leap年2月可以包含3笔付款,并且仅当其中一笔付款位于第一笔付款时。其他所有月份可以包含2到3笔付款,而且没有简单的周期。
如果仅简单地划分费率而不参考每周周期的开始日期,那么如何计算特定月份的准确余额?