当我使用下面的表达式运行SSRS报告时,我收到一条错误消息:错误的参数数量。我在这个错误中得到了这个错误.IsNaN,我的陈述的一部分。我不明白我错过了什么。有人可以帮忙吗?
= IIF(
(
(
(Sum(Fields!UNITS.Value, "SFY2011_SW_T19") / Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2011_SW_T19"))
- (Sum(Fields!UNITS.Value, "SFY2010_SW_T19") / Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2010_SW_T19"))
)
/ (Sum(Fields!UNITS.Value, "SFY2010_SW_T19") / Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2010_SW_T19"))
).IsNaN,
0.00,
(
(
(Sum(Fields!UNITS.Value, "SFY2011_SW_T19") / Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2011_SW_T19"))
- (Sum(Fields!UNITS.Value, "SFY2010_SW_T19") / Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2010_SW_T19"))
)
/ (Sum(Fields!UNITS.Value, "SFY2010_SW_T19") / Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2010_SW_T19"))
)
)
答案 0 :(得分:1)
特定的错误可能是因为你应该使用IsNaN(Value)而不是Value.IsNaN,但是如果你试图使用Iif()来防止除零错误,我会给你一个奖金提示
这样做......
=Iif(CouldBeZero = 0, 0, SomeValue / CouldBeZero)
...当CanBeZero = 0时将始终抛出错误,因为首先计算除法并将结果传递给Iif()函数。
而是这样做......
=Iif(CouldBeZero = 0, 0, SomeValue / Iif(CouldBeZero = 0, 1, CouldBeZero))
...确保划分工作,并显示零。
答案 1 :(得分:0)
不要在.IsNAN
之前获得那么大的复杂值,而只需使用Single.IsNAN