2017-09-24 99 views
0

我正在创建一个SSRS报表,显示未来12个月按产品ID分组的预计销售情况。虽然细节单元格正确显示,但每个月的组合总和显示的是12个月的所有销售额,而不仅仅是相关的月份。SSRS分组总计问题

例如,这里有所有的单品表中的值:

ProductID EstimatedDate ProjSales 
123A  Oct 10/2017 100 
123A  Nov 15/2017 100 
123A  Dec 01/2017 100 
123A  Dec 31/2017 100 

然而,这是该报告目前呈现出的这种产品:

Product EstimatedDate Oct 2017 Nov 2017 Dec 2017 
123A Oct 10/2017  100  0   0 
     Nov 15/2017  0   100  0 
     Dec 01/2017  0   0   100 
     Dec 31/2017  0   0   100 
     Total   400  400  400 

由上述可见,如果年/月匹配,细节部分中的每个记录都会显示预计销售值,否则它会显示0,因此细节单元格可以完美计算。不幸的是,“总计”金额的最后一行不正确,因为每月单元格显示总计的预计销售额所有月份而不仅仅是有关月份。

这里是我的十二月2017年报表表达式:

明细单元:!!!
= IIF(年(场EstimatedDate.Value)= 2017年和月(场EstimatedDate.Value)= 12,菲尔兹ProjSales .value的,0)

编组单元
= IIF(年份(字段!EstimatedDate.Value)= 2017和月(字段!EstimatedDate.Value)= 12,SUM(字段!ProjSales.Value),0)

任何想法如何我可以改变分组表达检索投影sa每个月的文件?

回答

1

使用矩阵。 按年份和月份添加一个列组和组。 然后只需在详细行组中添加ProjSales,然后在组中总计添加SUM(ProjSales)。没有必要使用表达式来计算值。 列组标题必须是表达式才能从EstimateDate列中提取月份和年份。如果你有更传统的YYYYMMDD格式的存储日期,那么它会更容易,因为我不确定任何DATE函数都能识别你上面显示的格式。

如果你需要更详细的答案让我知道。目前我无法做更多的事情。

+0

谢谢,艾伦!我以前从未使用过列分组功能,但这似乎让我非常接近最终报告。只有一个问题: 该报告目前仅显示10个月以来的两个即将到来的月份(2018年4月,2018年6月)没有预计销售。即使没有底层数据,是否有办法迫使它显示这些月份? – user3676641

+0

最简单的方法是为缺失的月份在数据集中添加NULL值。在大多数情况下,最好有一个包含日期(或至少几个月)的表格。然后,您可以从此表中离开连接,因此每个月都会显示在数据集中,但是您将不会有数据要加入的“NULL”。 –