Tsql 计算运行余额

Tsql 计算运行余额,tsql,sql-server-2014,cumulative-sum,Tsql,Sql Server 2014,Cumulative Sum,我正在努力计算一个动态的跑步平衡。这是我的 总工期与工期中每个月相交的一系列工期 在每个交叉口应用的速率 初始金额 需要根据初始金额减去该期间适用的利率计算流动余额 例如,我有一个价值2500000美元的项目,为期8个月。每个时段的费率如下:1。8.10% 2. 14.04% 3. 26.8% 4. 29.1% 5. 33.4% 6. 30.4% 7. 47.4% 8. 100% 第一期我有202500美元(8.10%×250万美元),第二期我有322500美元(14.04%×2297500

我正在努力计算一个动态的跑步平衡。这是我的

  • 总工期与工期中每个月相交的一系列工期

  • 在每个交叉口应用的速率

  • 初始金额

  • 需要根据初始金额减去该期间适用的利率计算流动余额

例如,我有一个价值2500000美元的项目,为期8个月。每个时段的费率如下:1。8.10% 2. 14.04% 3. 26.8% 4. 29.1% 5. 33.4% 6. 30.4% 7. 47.4% 8. 100%

第一期我有202500美元(8.10%×250万美元),第二期我有322500美元(14.04%×2297500美元($2.5-$202500)),第三期我有530000美元(26.8%×1974999美元($2.5-前两期之和($525000))。第八期结束时,我的余额为0美元,我的收入为250万美元

我可以使用类似于
RunningTotal=Sum(MonthlyAmts)OVER(按XX行排序,前面无限制)、按期间排序之类的方法吗?或者这是光标的候选对象吗


提前感谢!

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

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

您能给我们提供示例数据吗?金额为2500000美元。期限为8个月。期限1的利率为8.1%,期限2的利率为14.4%,期限3的利率为26.8%,期限4的利率为29.1%,期限5的利率为33.4%,期限3的利率为30.4%第6期,第7期为47.4%,第8期为100%。在第1期中,“赚取”的金额为202500美元,即2500000美元x 8.1%。在第2期中,金额为322500美元,即2500000美元-202500美元x 14.4%。在第3期中,金额为530000美元,即2500000美元-(第1期和第2期中赚取的金额之和)x 26.8%。余额递减最终达到0美元,收入达到2500000美元。我的意思是,以表格的形式。以及预期结果。项目长度:8个月,金额=2500000美元期间利率金额余额1 0.081美元202500.00美元2500000.00 2 0.14036997美元322500.01美元2297500.00美元3 0.26835443$530000.00$1974999.99$40.29065744$420000.00$1445000.00$5 0.33414634$342500.00$1025000.00$6 0.3040293$207500.00$682500.00$7 0.47368421$225000.00$475000.00$8 1$250000.00$250000.00我尝试以表格格式输入,但不知道如何在浏览器中呈现。你能给我们一些示例吗数据?金额为2500000美元。期限为8个月。第1期利率为8.1%,第2期利率为14.4%,第3期利率为26.8%,第4期利率为29.1%,第5期利率为33.4%,第6期利率为30.4%,第7期利率为47.4%,第8期利率为100%为$202500,即$2500000 x 8.1%。在第2个期间,金额为$322500,即$2500000-$202500 x 14.4%。在第3个期间,金额为$530000,即$2500000-(第1和第2个期间赚取的金额之和)x 26.8%。余额递减最终达到0美元,收入达到2500000美元。我的意思是,以表格的形式。以及预期结果。项目长度:8个月,金额=2500000美元期间利率金额余额1 0.081美元202500.00美元2500000.00 2 0.14036997美元322500.01美元2297500.00美元3 0.26835443$530000.00$1974999.99$40.29065744$420000.00$1445000.00$5 0.33414634$342500.00$1025000.00$6 0.3040293$207500.00$682500.00 7 0.47368421$225000.00$475000.00$8 1$250000.00$250000.00我尝试以表格格式输入,但不知道它在浏览器中的呈现方式。