SSRS - 计数由列和行中Tablix的
问题描述:
分组我有一个SSRS表矩阵与此类似:SSRS - 计数由列和行中Tablix的
+----------+-----------+--------+--------+
| Total | RowGroup | Group1 | Group2 |
+----------+-----------+--------+--------+
| Perdiod1 | RowGroup1 | Value | Value |
| | RowGroup2 | Value | Value |
| Perdiod2 | RowGroup1 | Value | Value |
| | RowGroup2 | Value | Value |
| Perdiod3 | RowGroup1 | Value | Value |
| | RowGroup2 | Value | Value |
+----------+-----------+--------+--------+
现在,每个时期,我要计算每个组中的计数。当我这样做:
Count(TableValue.Value, "Perdiod")
我得到的总期间(两列组)。当我做
Count(TableValue.Value, "ColumnGroup")
我得到所有时期的总和。所以真的,我需要做的是这样的:
Count(TableValue.Value, "TablixRow", "TablixColumn")
这显然不存在。
所以“值”应该是一个时期
(因此,在上面给出的例子中,值将是在每个周期(一次为每个RowGroup)重复两次)内的一组的总计数是否有一个在SSRS的tablix中显示指定列和行组中所有值的计数的方法?
答
您只需将聚合表达式添加到矩阵详细信息字段中,而不指定范围(例如,是这样的:
=Count(Fields!Value.Value)
既然你不提供范围,总将在其目前的范围,这对于那些值字段将成为特定组/期组合计算。
编辑点评/更新后
嗯......我试图想一个简单的方法来做到这一点,但未来空手而归......我搞乱周围,可以得到不同的任意组合你想要的那个。
基本上你正在寻找的东西,如:
=Count(Fields!Value.Value, "ParentRowGroup", "CurrentColumnGroup")
,我想不出来做到这一点的有效途径。
老实说(这不会是SSRS的第一次)这里阻力最小的路径是当你生成它时,将你想显示的额外列作为额外列添加到你的DataSet中,然后只显示这个价值在矩阵的细节未集聚。
令人讨厌的是,如果你能控制DataSet,那么在报告级别解决什么是困难的问题是一个简单的解决方案。
答
=CountRows()
=CountRows("GroupByInitial")
=CountRows("GroupByInitial",Recursive)
我可以做到这一点,但实际上我的要求不同,我刚刚意识到这一点,感谢您的回答并编辑了我的问题。因此,基本上,每个值应该代表组和周期的总和(因此,在上述示例中应该重复两次该值)。 – tomsky 2013-05-07 14:14:31
添加了我的想法,请参阅上文。 – 2013-05-07 16:29:30
谢谢你的回复伊恩。转到存储过程并将其更改为解决此问题的唯一选项正是我所担心的,因为在报告定义中计算了“期间”组,因为用户可以选择要分组的期间。另外,我们希望避免存储过程中的任何分组,因为它被多个报表使用。 – tomsky 2013-05-08 06:37:50