【问题标题】:How to exclude null values from Count() function in reporting services 2005?如何从 Reporting Services 2005 中的 Count() 函数中排除空值?
【发布时间】:2012-08-02 14:58:56
【问题描述】:

我正在创建一个报告,其中包含类帕累托图和订单类型表格以及每种订单类型的单位数量。从我正在使用的存储过程返回的子集包括一个名为 WorkItemId 的字段,如果该值为 null,则意味着不计算该项目。在不包括具有空 WorkItemId 的值的情况下,我应该如何计算报告中的订单类型?现在我正在使用表达式:

Count(Fields!OrderType.Value) 

计算特定订单类型的每个单位。

谢谢!

编辑:WorkItemId 是不能为 null 的,not 订单类型

其他报告需要 WorkItemId 中的 Null 值,所以我不能简单地在 SQL 中过滤它们。

【问题讨论】:

  • 是 SQL 问题还是 Visual Studio 2005 问题?
  • Visual Studio,我只需要找到一种方法来计算特定订单类型,其中 WorkItemId 的约束不为空(不在 SQL 中)。

标签: sql reporting-services visual-studio-2005


【解决方案1】:

你可以使用类似的东西

Sum(IIF(IsNothing(Fields!WorkItemId.Value),0,1))

【讨论】:

    【解决方案2】:

    在你的 SQL 子句中使用 where 子句:

     where WorkItemId is not null
    

    希望对你有帮助。

    【讨论】:

    • 其他报表需要WorkItemId中的NULL值,有没有其他办法?
    • 这个目的是在数据库端使用:将where子句添加到SELECT SQL请求中。
    • 我删除了我的第一条评论,请参阅上面的新评论。
    【解决方案3】:

    想出了我自己的问题......再次

    由于我表中的行已经按订单类型分组,我只需要放置

    Fields!WorkItemId.Value
    

    进入 Count 函数而不是 OrderType,因为 Count() 会自动忽略空值。

    【讨论】:

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