2016-11-17 167 views
1

我正在努力如何计算动态运行余额。这是我的。计算运行余额

  • 总持续时间与持续时间内每个月之间有交集的周期范围。

  • 在每个路口应用的费率。

  • 初始量

  • 甲需要计算基于所述初始量在此期间施加更少的速率的运行平衡。

例如,我有一个价值$ 2,500,000的项目,长达8个月。每个区间的比率如下:1. 8.10%2.14.04%3. 26.8%4. 29.1%5. 33.4%6. 30.4%7. 47.4%8. 100%

对于期间1我有$ 202,500(8.10%×250万美元),期间2,我有322,500美元(14.04%×2,297,500美元(2.5美元-202,500美元)),第三期我有530,000美元(26.8%×1,974,999美元(2.5美元 - 前两期总计525,000美元))。在为期8月底,我的余额为$ 0,我赚了金额= $ 250万美元。

我可以使用类似RunningTotal = Sum(MonthlyAmts) OVER (ORDER BY XX ROWS UNBOUNDED PRECEDING), ORDER BY Period?或者这是一个候选人的光标?

提前感谢!

+0

你能给我们提供样品数据吗? – DVT

+0

金额为2,500,000美元。持续时间是8个月。第一期为8.1%,第二期为14.4%,第三期为26.8%,第四期为29.1%,第五期为33.4%,第六期为30.4%,第七期为47.4%,期间为100% 8.在第一阶段,“赚取”的金额是202,500美元,即2,500,000美元x 8.1%。在第二阶段,金额为322,500美元,即2,500,000美元 - 202,500美元x 14.4%。在第三阶段,金额为530,000美元,即2,500,000美元 - (期间1和期间2的收入总和)×26.8%。这种下降的余额最终达到0美元,赚得的金额达到2,500,000美元。 – user3546267

+0

我的意思是,以表格的形式。和预期的结果。 – DVT

回答

0

这取决于你的表结构。但它听起来像你应该使用功能。如果您希望获得所有年份使用表值函数,如果您只对结果使用标量函数感兴趣。或者用递归CTE更好的方法。