我有一个表格和报告我需要创建,我不知道如何围绕如何使每个月以正确的顺序显示输出。
使用SQL Server 2012和SSRS 2016作为输出,我需要创建一个滚动报告,显示过去12个月及其相应的值。每个月前12个月都会下降。
什么是最好的表设计来处理这样的事情,你如何控制输出在前12个月下降并保持滚动?
所需输出的示例如下所示,但下个月我需要放弃Dec - 15
并添加Jan - 16
但是按列降序排列,以便上个月始终是最后一个月在报告中。
-- Desc | DEC - 15 | Jan - 16 | Feb - 16 | restofmonths| Nov 16 | Dec 16|
********************************************************************************
-- Loss | 1,000 | 2500 | 1700 | 123 | 4565 | 3433 |
-- Expense | 2,000 | 3200 | 900 | 456 | 1223 | 4445 |
-- Reserve | 3,000 | 3300 | 400 | 789 | 4747 | 4444 |
答案 0 :(得分:0)
您需要使用矩阵。
在数据集中,添加2列(如果尚未存在)。第一个是列标题,第二个是列排序顺序。像这样的东西
[Header] = LEFT(DATENAME(MONTH, DateValue), 3) + ' - ' + RIGHT(YearNum, 2)
, [HeaderSort] = CONVERT(VARCHAR, YEAR(DateValue)) + RIGHT('0' + CONVERT(VARCHAR, DATEPART(MONTH, DateValue)), 2)
将矩阵列组设置为Header值,并将排序顺序设置为HeaderSort值。