如果空白显示零

时间:2013-07-25 15:13:04

标签: sql visual-studio reporting-services iif

我有一个视觉工作室报告,我想说明如果由于该特定项目上没有可用数据而计算框为空白,则显示为零。

我的计算是: - =((Sum(Fields!TotalCost.Value, "Accrued") + Sum(Fields!TotalCost.Value, "serv1")) / (Sum(Fields!Quantity.Value, "serv1") + Sum(Fields!Quantity.Value, "Accrued"))
)

我想尝试在其中包含一个IIF语句,以便在空白时显示零。

有关如何最好地实现目标的任何想法?

到目前为止,我必须这样做 =iif((Sum(Fields!TotalCost.Value, "Accrued") + Sum(Fields!TotalCost.Value, "serv1")) / (Sum(Fields!Quantity.Value, "serv1") + Sum(Fields!Quantity.Value, "Accrued"))
) = "" ,false,0 )
但我有点困惑。

1 个答案:

答案 0 :(得分:2)

最有可能的值不是空白字符串,而是Nothing。尝试以下构造:

=IIf(IsNothing(((Sum(Fields!TotalCost.Value, "Accrued") + Sum(Fields!TotalCost.Value, "serv1")) / (Sum(Fields!Quantity.Value, "serv1") + Sum(Fields!Quantity.Value, "Accrued"))), 0, ((Sum(Fields!TotalCost.Value, "Accrued") + Sum(Fields!TotalCost.Value, "serv1")) / (Sum(Fields!Quantity.Value, "serv1") + Sum(Fields!Quantity.Value, "Accrued")))

这有点尴尬,因为你必须重复两次表达式,以避免它你可能想要编写一个自定义函数。