我有一个类似于此的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")
显然不存在。
所以'Value'应该是一个Period内一个组的总计数(因此,在上面给出的例子中,Value将在每个Period中重复两次(每个RowGroup一次))
有没有办法在SSRS的Tablix中显示指定列和行组中所有值的计数?
答案 0 :(得分:2)
您只需要将聚合表达式添加到矩阵详细信息字段中,而不指定范围,例如类似的东西:
=Count(Fields!Value.Value)
由于您未提供范围,因此汇总将在其当前范围内计算,对于这些值字段,该范围将是特定的组/期间组合。
评论/更新后修改
嗯......我正在想办法做一个简单的方法,但空手而归......我四处乱逛,可以得到除你想要的任何组合之外的任何组合。基本上你正在寻找类似的东西:
=Count(Fields!Value.Value, "ParentRowGroup", "CurrentColumnGroup")
我想不出有效的方法。
老实说(并且这不是SSRS的第一次)这里阻力最小的路径是在生成时将要显示的期间计数添加到DataSet的额外列,然后只显示此值在矩阵的细节中分解。
很烦人,但是如果你可以控制DataSet,那么对于报告级别的难题来说,这是一个简单的解决方案。
答案 1 :(得分:0)
=CountRows()
=CountRows("GroupByInitial")
=CountRows("GroupByInitial",Recursive)