SSRS - 使用列总计计算行数

时间:2016-04-01 05:10:34

标签: ssrs-2008-r2

我使用矩阵制表符样式显示基于日期范围参数的日期范围。下图显示CAT1至CAT20,总计为案例计数。我需要有关如何根据整体案例计算计算Case%的帮助。

例如:总案例数= 3,393,CAT1 = 11,CAT1的案例%= 0.324%(11 / 3,393)。我很难找到一种使用整体案例计数来计算Case%的方法。

我在SQL中编写了一个代码,但是当我在SSRS数据集中添加它时,它就超时了。提前谢谢。

here

这是4天的数据(注意:这是实际的报告)。我有2个数据集1)RSNCD_SUB是按日期计算的,按类别计算(原因代码)。 2)RSNCD_TTL按日期计算,按数据计算个案,我用tablix矩阵计算。 enter image description here

enter image description here

以下是使用多个日期与单个日期运行报告时的比较。正如您所看到的,1天运行的计算是正确的,但在多日运行中它是不正确的。

enter image description here

1 个答案:

答案 0 :(得分:0)

确保您的第二个数据列与第一个数据列位于同一列组中。然后使用以下表达式,其中"DAY"是您的列组:

=Sum(Fields!CASE_COUNT.Value) / Sum(Fields!CASE_COUNT.Value, "DAY")

第一个Sum未指定范围,因此仅包含相关类别和日期的值。第二个Sum将包含当天的所有值,无论类别分组如何。

请记住使用此表达式在单元格上放置格式以将其显示为百分比,例如0.000%

enter image description here

enter image description here

修改:

通过使用"DAY"作为范围,每天的百分比是独立的。如果您想要相对于整个矩阵的百分比值,请使用矩阵名称,例如"Tablix1"代替"DAY"

如果某些类别在某些日期没有值,您可以使用IIF将单元格留空,而不是显示0%:

=IIF(Sum(Fields!CASE_COUNT.Value) > 0, 
  Sum(Fields!CASE_COUNT.Value) / Sum(Fields!CASE_COUNT.Value, "Tablix3"),
  nothing)