在SSRS中使用SUM函数时如何检查NULL值

时间:2013-05-13 18:39:55

标签: sql reporting-services null iif

默认情况下,SSRS中的SUM函数排除NULL。我希望能够检查详细信息组中的任何NULL值,并在摘要组中抛出错误。在详细信息视图中,我使用它来检查NULLS:

=IIF(IsNothing(Fields!EquityPrice.Value)) ,"#Error", Fields!EquityPrice.Value*Fields!EquityShares.Value)

这符合要求。

当我在摘要部分中使用它时,它会忽略NULLS并返回非空值的SUM。我想要返回“#Error”:

=IIF(IsNothing(SUM(Fields!EquityPrice.Value))) ,"#Error", SUM(Fields!EquityPrice.Value*Fields!EquityShares.Value))

我尝试在“IsNothing”表达式中删除SUM,但无济于事。任何帮助,将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:2)

为了确认,如果组中至少有一个NULL值,则应显示 #Error

您可以将以下内容用于摘要表达式:

=IIf(Sum(IIf(IsNothing(Fields!EquityPrice.Value),1,0)) > 0
  , "#Error"
  , Sum(Fields!EquityPrice.Value * Fields!EquityShares.Value))

这会创建NULL个值的计数 - 如果该计数大于零,则返回 #Error

我做了一个简单的测试报告:

enter image description here

enter image description here

这将在详细级别使用您的表达式并在摘要中使用。根据需要具有一个NULL值的组的错误:

enter image description here