有条件地根据SSRS报告中的其他现场数据进行计数

时间:2016-02-08 07:40:33

标签: sql-server reporting-services ssrs-2008-r2 ssrs-2012 ssrs-2014

我正在使用SSRS报告,我有一个名为Details的字段,我希望得到其他字段SerialNumber的计数。

总之,我想得到SerialNumber的总数不是Details

我试过以下但没有工作。它总是给出总计数而不考虑空白Details

=CStr(COUNT(IIF(Not(IsNothing(Fields!Details.Value)),Fields!SerialNumber.Value,0)))

我怎样才能通过表达实现这个目标?请帮忙。

1 个答案:

答案 0 :(得分:0)

问题与我的数据有关。在数据集中,我是根据Isnull()提取行,如下所示

SELECT CASE 
            WHEN 'Y'='Y' THEN ISNULL(Code ,'') + '  ' + ISNULL(Description ,'')
            ELSE CASE 
                      WHEN ISNULL(Code ,'')='' THEN ISNULL(RefCharge ,'') 
                          +'  '+ISNULL(RefDescription ,'')
                      ELSE ISNULL(Code ,'')+'  '+ISNULL(Description ,'')
                 END
       END               AS Details

所以它显示(3个空格),我的表达是。

=COUNT(IIF(Fields!Details.Value<>"",Fields!Number.Value,Nothing))

最后我在下面尝试过,现在它正常工作。

=COUNT(IIF(Trim(Fields!Details.Value)<>"",Fields!Number.Value,Nothing))

注意: 所以我注意到,每当我们需要检查这种情况时,我们必须使用Trim()