计算运行余额

时间:2016-11-17 16:26:44

标签: tsql sql-server-2014 running-total

我正在努力解决如何计算动态的运行平衡问题。这就是我所拥有的。

  • 持续时间内总持续时间与每个月之间的交叉点的一系列期间。

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

  • 初始金额

  • 需要根据初始金额减去该期间适用的比率计算运行余额。

例如,我有一个价值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美元)),第3期我有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之类的内容吗?或者这是光标的候选者?

提前致谢!

1 个答案:

答案 0 :(得分:0)

这取决于您的表结构。但听起来你应该使用功能。如果你想使用表值函数,如果你只对结果使用标量函数感兴趣。或者使用递归CTE的更好方法。