我正在使用 SQL Server 2014。我有一个Claims表,其中包含我系统中每月提出的索赔总数:
+-----------+-------------+------------+
| Claim_ID | Claim_Date | Nett_Total |
+-----------+-------------+------------+
| 1 | 31 Jan 2012 | 321454.67 |
| 2 | 29 Feb 2012 | 523542.34 |
| 3 | 31 Mar 2012 | 35344.33 |
| 4 | 30 Apr 2012 | 142355.63 |
| etc. | etc. | etc. |
+-----------+-------------+------------+
对于我正在编写的报告,我需要能够生成在每个财政年度开始时重置为零的累计运行总计(在我的国家,这是从 3 月 1 日到次年 2 月 28/29 日)。
该报告将与表格类似,但有一个额外的运行总计列,例如:
+-----------+-------------+------------+---------------+
| Claim_ID | Claim_Date | Nett_Total | Running Total |
+-----------+-------------+------------+---------------+
| 1 | 31 Jan 2012 | 321454.67 | 321454.67 |
| 2 | 29 Feb 2012 | 523542.34 | 844997.01 |
| 3 | 31 Mar 2012 | 35344.33 | 35344.33 | (restart at 0
| 4 | 30 Apr 2012 | 142355.63 | 177699.96 | for new yr)
| etc. | etc. | etc. | |
+-----------+-------------+------------+---------------+
我知道窗口函数非常强大,我过去曾以基本方式使用它们来获得总和和平均值,同时避免需要对我的结果集行进行分组。我有一种直觉,我需要使用“preceding”关键字来获得每行所属当前财政年度的总和,但我不太明白如何将财政年度表达为一个概念来使用'preceding' 子句(或者如果确实可以以这种方式使用日期范围)。
请在为“前项”条款“措辞”财政年度的方式上提供任何帮助,对我有很大帮助。