【问题标题】:exclude nulls in column SSRS排除 SSRS 列中的空值
【发布时间】:2018-08-01 16:38:43
【问题描述】:

SSRS 新手

我有表格,第 1 列是部门,第 2 列是计算

例如费用总和...

我已经使用下面的表达式来总结成本

但我想排除为空的部门,但它并不快乐..

=Sum(IIF(Fields!ReturnOrder.Value = "1" + IsNothing(Fields!Department.Value) = 1, Fields!Cost.Value, 0))

第 1 列仍显示空部门。我不想展示这个...

我只想有一个显示部门名称的第 1 列,它不显示空行.. 和第 2 列的成本总和,其中返回值 = 1

请帮忙

【问题讨论】:

    标签: reporting-services reportbuilder3.0


    【解决方案1】:

    要使您的表达式按您的方式工作,您需要将加号更改为 AND 以进行逻辑运算,并将 ISNOTHING 保留为布尔值(不带 = 1):

    =Sum(IIF(Fields!ReturnOrder.Value = "1" AND NOT(IsNothing(Fields!Department.Value)), Fields!Cost.Value, 0))
    

    我不确定 ReturnOrder 的用途,但将您的条件留在里面。

    【讨论】:

    • 您好,感谢您的回复...这已返回全部 0,用于总成本...并且部门的空白/空行已返回...请帮助
    • 抱歉 - 重新评估后,IsNothing 前面应该有一个 NOT,因为你有 = false(duh)。我已经更新了代码。
    • 这是在计算,但部门的空行仍然显示。表上是否有设置我可以使用报表生成器 3.0 隐藏空行。该行现在显示为部门为空白,成本为 0请帮助
    • 对于该问题,您需要使用 ROW VISIBILTY。选择基于表达式显示或隐藏并使用=IIF(IsNothing(Fields!Department.value), True, False)隐藏NULL。
    【解决方案2】:

    你要找的表达式是

    =Sum(IIF(Fields!ReturnOrder.Value = "1" AND IsNothing(Fields!Department.Value) = False, Fields!Cost.Value, 0))
    

    提示:如果您的值是十进制而不是 0,请使用 Cdec(0) 以避免错误。

    为避免显示空部门,我建议过滤您的 SQL 查询。

    你也可以通过过滤tablix来做到这一点

    Expression: IsNothing(Fields!Department.Value)
    Type: Boolean
    Operator: Equal =
    Value: False
    

    这样做会隐藏 Null 部门,您的表达式可以简化为

    =Sum(IIF(Fields!ReturnOrder.Value = "1", Fields!cost.Value, 0))
    

    【讨论】:

      【解决方案3】:

      最好的方法是改变你的查询:

      SELECT *
      FROM [YourTable]
      WHERE [Department] IS NOT NULL;
      

      您也可以选择详细信息行,点击属性选项卡,在“隐藏”属性中输入公式

      =IIF(IsNothing(Fields!Department.value), True, False)
      

      这说,“如果部门为空,隐藏这一行,否则显示它”。第一种方法更好,因为返回到报表的数据更少。第二种方法要求返回所有行,并且报表必须对要显示的行进行排序。

      选择详细信息行(单击三行),选择“属性”选项卡,然后将“False”替换为该公式:

      【讨论】:

      • 感谢您的回复。这让所有的部门都说是真的……而对于 null 来说是假的。我只想显示部门的名称,而不是显示空部门行。请帮忙
      • 抱歉,这没有进入字段,它进入详细信息行的“隐藏”属性:如果部门为空,则“隐藏”= true。我会在我的答案中添加一张图片...
      猜你喜欢
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      相关资源
      最近更新 更多