【发布时间】:2018-06-29 20:16:57
【问题描述】:
我正在尝试构建一个图表,显示我有数据的任何给定月份的当前 YTD 和之前 YTD 的收入,通过 SQL 生成,可以随时从视图中检索到报告中。
表格看起来像这样
USER1 | MONTH | YEAR | REVENUE | YTD REVENUE | PRIOR YTD REVENUE |
------------------------------------------------------------------
Dan | Feb | 2016 | $75 | $75 |
Bob | Feb | 2016 | | |
Chris | Feb | 2016 | $220 | $220 |
Dan | Jan | 2017 | $100 | $100 |
Bob | Jan | 2017 | $150 | $150 |
Chris | Jan | 2017 | $200 | $200 |
Dan | Feb | 2017 | $100 | $200 | $75
Bob | Feb | 2017 | $100 | $250 |
Chris | Feb | 2017 | $125 | $225 | $220
作为构建所述视图的一部分,如何按月通过 sql 计算当前 YTD 和之前的 YTD?我目前没有按照上面的示例按月/年计算 YTD,因此在计算 PYTD 的同时还需要将其包含在语句中。
目前的SQL查询是
Select USER1, MONTH(Date), YEAR(Date), REVENUE from SOURCE
【问题讨论】:
-
之前是上个月(例如
LAG() OVER())还是总数(例如SUM() OVER())? -
为什么 Chris - Feb - 2017 YTD REVENUE 是 225?
标签: sql sql-server tsql