基于行号的SSRS总和值

时间:2018-10-02 14:17:22

标签: sql reporting-services ssrs-2012

如果行数值大于当前行,我想获取列中所有值的总和

所以如果我有4行:

第1行是第2、3和4行的总和

第2行是第3行和第4行的总和

第3行将是第4行的值

第4行为0

这是我当前拥有的查询:

SELECT
  no_,
  name AS member,
  amount,
  effective,
  balance

FROM c

WHERE 
    status != 'closed'
    AND amount != 0.00
ORDER BY no_, effective

在我的ssrs表中,我使用表达式RowNumber(“ member”)为每个成员的每一行分配行号

1 个答案:

答案 0 :(得分:1)

您似乎想要一个相反的累积和,不包括当前值。我可以这样表示:

select sum(val) over (order by rownum desc) - val

我很清楚这与您的查询有何关系。

您也可以使用窗框来表达这一点:

select sum(val) over (order by rownum rows between 1 following and unlimited following)

唯一的区别是,它将在最后一行返回NULL,而不是0