【问题标题】:Conditionally count based on other field data in SSRS Report根据 SSRS 报告中的其他字段数据有条件地计数
【发布时间】:2016-02-08 07:40:33
【问题描述】:

我正在处理 SSRS 报告,我有一个名为 Details 的字段,我想获取其他字段 SerialNumber 的计数。

简而言之,我想得到没有DetailsSerialNumber 的总数。

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

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

我怎样才能通过表达来实现呢?请帮忙。

【问题讨论】:

  • 注意在isNothing 函数中使用Not 运算符执行逻辑否定。您实际上需要空值Details 而不是not null。试试:COUNT(IIF(IsNothing(Fields!Details.Value),Fields!SerialNumber.Value,Nothing))
  • 分享您的数据集样本和预期结果,以便重现您的问题。
  • 感谢@alejandrozuleta

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


【解决方案1】:

问题出在我的数据上。在数据集中,我基于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() p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    相关资源
    最近更新 更多