SSRS计算对数据进行分组的行

时间:2014-05-07 15:30:45

标签: reporting-services ssrs-2008 ssrs-2008-r2 ssrs-grouping

我有一份现有的SSRS报告,显示了报告顶部的一些总体计数。报告数据如下:

column1    column2
A1         true
-          true
B5         false
A1         true
-          false
C3         false

我需要的是column1中的项目的不同计数,但包括带有“ - ”的所有行。因此,此示例数据的结果应为5,将“A1”行计为1。问题在于,这需要在报表本身的表达式或某种方法中完成。我无法更改数据集查询。

我试过:= COUNTDISTINCT(Fields!column1.Value)但是将“ - ”行计为一行。

是否可以添加另一个数据集并为查询现有数据集的数据集开发查询?不确定是否可以这样做。

1 个答案:

答案 0 :(得分:1)

这对我来说没问题:

=CountDistinct(IIf(Fields!column1.Value = "-", Nothing, Fields!column1.Value))
  + Sum(IIf(Fields!column1.Value = "-", 1, 0))

我为这两种情况使用了两个聚合IIf表达式。

第一个是CountDistinct针对所有非-行,第二个是所有-行的计数。

对于所有-行并且没有-行,似乎工作正常。

在评论后修改

如果您在Tablix之外使用此表达式,则可能需要指定聚合的范围:

=CountDistinct(IIf(Fields!column1.Value = "-", Nothing, Fields!column1.Value), "MyDataSet")
    + Sum(IIf(Fields!column1.Value = "-", 1, 0), "MyDataSet")