SSRS 分组总和问题
SSRS Grouped total sum issue
我正在创建一个 SSRS 报告,显示未来 12 个月的预计销售额,按 ProductID 分组。虽然详细信息单元格显示正确,但每个月的组总和显示的是 12 个月的所有销售额,而不仅仅是相关月份。
例如,这里是单个产品的所有 table 值:
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
如上所示,详细单元格计算完美,因为如果 Year/Month 匹配,详细信息部分中的每条记录都会显示预计销售值,否则显示 0。不幸的是,最后一行 "Total" 金额不正确,因为每月单元格显示的是所有月份的预计销售额总额,而不仅仅是相关月份。
这是我 2017 年 12 月的报告表达式:
详细单元格:
=IIF(Year(Fields!EstimatedDate.Value) = 2017 AND Month(Fields!EstimatedDate.Value) = 12, Fields!ProjSales.Value, 0)
分组单元格
=IIF(Year(Fields!EstimatedDate.Value) = 2017 AND Month(Fields!EstimatedDate.Value) = 12, SUM(Fields!ProjSales.Value), 0)
知道如何更改分组表达式以检索每个月的预计销售额吗?
编辑:格式化代码
使用矩阵。
添加一个列组并按年然后按月进行分组。
然后只需在详细信息行组中包含 ProjSales,在组总计中包含 SUM(ProjSales)。无需使用表达式来计算值。
列组标题必须是表达式才能从 EstimateDate 列中提取月份和年份。如果您以更传统的格式 YYYYMMDD 等存储日期,那么它会更容易,因为我不确定任何 DATE 函数是否会识别您上面显示的格式。
如果您需要更详细的答案,请告诉我。我现在无法做更多事情。
我正在创建一个 SSRS 报告,显示未来 12 个月的预计销售额,按 ProductID 分组。虽然详细信息单元格显示正确,但每个月的组总和显示的是 12 个月的所有销售额,而不仅仅是相关月份。
例如,这里是单个产品的所有 table 值:
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
如上所示,详细单元格计算完美,因为如果 Year/Month 匹配,详细信息部分中的每条记录都会显示预计销售值,否则显示 0。不幸的是,最后一行 "Total" 金额不正确,因为每月单元格显示的是所有月份的预计销售额总额,而不仅仅是相关月份。
这是我 2017 年 12 月的报告表达式:
详细单元格:
=IIF(Year(Fields!EstimatedDate.Value) = 2017 AND Month(Fields!EstimatedDate.Value) = 12, Fields!ProjSales.Value, 0)
分组单元格
=IIF(Year(Fields!EstimatedDate.Value) = 2017 AND Month(Fields!EstimatedDate.Value) = 12, SUM(Fields!ProjSales.Value), 0)
知道如何更改分组表达式以检索每个月的预计销售额吗?
编辑:格式化代码
使用矩阵。 添加一个列组并按年然后按月进行分组。 然后只需在详细信息行组中包含 ProjSales,在组总计中包含 SUM(ProjSales)。无需使用表达式来计算值。 列组标题必须是表达式才能从 EstimateDate 列中提取月份和年份。如果您以更传统的格式 YYYYMMDD 等存储日期,那么它会更容易,因为我不确定任何 DATE 函数是否会识别您上面显示的格式。
如果您需要更详细的答案,请告诉我。我现在无法做更多事情。