表达式只有在数据集

时间:2016-02-02 19:34:00

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

我的报告中有一个列,根据字段值增加字段的值,如下所示:

=COUNT(iif(Fields!isAcceptable.Value > 0, 1, Nothing)) 

但是,我需要将该计数依赖于另一个名为testItemId的字段。有时testItemId可以在数据集中出现2次或更多次,但我需要上面的count表达式,每个testItemId只计算一次。因此,如果相同的testItemId出现4次,我只希望将isAceptable值计数一次。

我也尝试过COUNTDISTINCT,但每行只给了我一个'-1'。

有没有办法在表达式中执行此操作?

由于

1 个答案:

答案 0 :(得分:1)

试试这个:

=CountDistinct(IIF(Fields!isAcceptable.Value>0,Fields!TestID.Value,Nothing))

它会产生这个:

enter image description here

更新:

它说:如果行是可接受的(大于0),它会将TestID传递给CountDistinct函数,否则它将不传递任何内容(认为该行是无效的)。当 CountDistinct值传递时,TestID1值加TestId

  

返回由指定的所有不同非null 值的计数   表达式,在给定范围的上下文中进行评估。

Reference

如果这有助于您,请告诉我。