0
我有一个表,像下面的存储数据:SQL Server 2008中:CASE WHEN自动递增/组数据
MonthOpened | MONTH | Collected
--------------------------------
01/05/2012 | 1 | £10.00
01/05/2012 | 2 | £30.00
01/05/2012 | 3 | £30.00
01/05/2012 | 4 | £30.00
01/05/2012 | 5 | £30.00
01/05/2012 | 6 | £10.00
01/05/2012 | 7 | £30.00
01/05/2012 | 8 | £50.00
01/05/2012 | 9 | £10.00
01/05/2012 | 10 | £50.00
01/05/2012 | 11 | £100.00
01/05/2012 | 12 | £141.92
01/05/2012 | 13 | £100.00
01/05/2012 | 14 | £50.00
月开业的日期在那里取出账户,每月为他们支付的月(月1是帐户开立的月份(5月),月份2月份为6月份,月份3月份为7月份等等。此时此过程一直持续到月份36.
仅供参考此数据进入SSRS矩阵并且看起来像这样
MONTH |1 |2 | 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14
----------------------------------------------------------------------------------------------------------------
01/05/2012|£10.00|£30.00|£30.00|£30.00|£30.00|£10.00|£30.00|£50.00|£10.00|£50.00|£100.00|£141.92|£100.00|£50.00
我被要求在12个月后将它们组合在一起,因此1-12出现,然后18,24,30,36等等。我做一个通用的情况下,当
CASE
WHEN ISNULL(sp.Month, N'01') BETWEEN 01 AND 12
THEN ISNULL(sp.Month, N'01')
WHEN ISNULL(sp.Month, N'01') BETWEEN 13 AND 18
THEN 18
WHEN ISNULL(sp.Month, N'01') BETWEEN 19 AND 24
THEN 24
WHEN ISNULL(sp.Month, N'01') BETWEEN 25 AND 30
THEN 30
WHEN ISNULL(sp.Month, N'01') BETWEEN 31 AND 36
THEN 36
ELSE ''
END AS MONTH
但是我需要得到它,使它的汽车企业集团,这样只有在账户未来几个月(42,48,54,60这样做是速战速决。 ...),但我需要能够在SSRS查询窗口中执行此操作,并且无法找到使其工作的方法。
@ allan-s-hansen我需要能够自己显示前12个月,然后在12个月后每6个组合一次 – GPH 2015-03-25 08:06:17
如果间隔时间仅为6个月,则可以使用6得到间隔数字。如果你想省略前12个(2个间隔),那就用一个案例来做。但是做这个分区,所以你可以通过编程来获得间隔时间,这可以帮助你简化查询 – 2015-03-25 08:07:37