Reporting services 当我不传入任何内容作为参数时,我在表达式中得到了一个错误

Reporting services 当我不传入任何内容作为参数时,我在表达式中得到了一个错误,reporting-services,ssrs-2008,ssrs-2012,Reporting Services,Ssrs 2008,Ssrs 2012,这是我在报告中试图使用的一个表达。它正在查看传递的几个价格,并将这些价格相加 如果是控制面板参数!ControlPanel.Value包含一个D,然后是参数价格的两倍!定价.Value和参数!GRPrice.Value如果为空 当有参数的价格/值传入时,一切似乎都正常!控制面板。值和参数!CPPrice.Value,但如果没有传入任何内容,则会得到一个#错误结果 更新:这也给了我一个错误: =String.Format("{0:C}", IIf(IsNothing(Parameters!Pric

这是我在报告中试图使用的一个表达。它正在查看传递的几个价格,并将这些价格相加

如果是控制面板
参数!ControlPanel.Value
包含一个D,然后是
参数价格的两倍!定价.Value
参数!GRPrice.Value
如果为空

当有
参数的价格/值传入时,一切似乎都正常!控制面板。值
参数!CPPrice.Value
,但如果没有传入任何内容,则会得到一个#错误结果

更新:这也给了我一个错误:

=String.Format("{0:C}", IIf(IsNothing(Parameters!Pricing.Value), 0, IIf(IsNothing(Parameters!CPPrice.Value), IIf(Parameters!ControlPanel.Value.ToString().Contains("D"), CInt(Parameters!Pricing.Value * 2), CInt(Parameters!Pricing.Value)), CInt(Parameters!Pricing.Value))) 
+ IIf(IsNothing(Parameters!RMPrice.Value), 0, CInt(Parameters!RMPrice.Value)) 
+ IIf(IsNothing(Parameters!CPPrice.Value), 0, CInt(Parameters!CPPrice.Value))
+ IIf(IsNothing(Parameters!CKPrice.Value), 0, CInt(Parameters!CKPrice.Value)) 
+ IIf(IsNothing(Parameters!FPrice.Value), 0, CInt(Parameters!FPrice.Value)) 
+ IIf(IsNothing(Parameters!GRPrice.Value), 0, IIf(IsNothing(Parameters!CPPrice.Value), CInt(Parameters!GRPrice.Value), IIf(Parameters!ControlPanel.Value.ToString().Contains("D"), CInt(Parameters!GRPrice.Value * 2), CInt(Parameters!GRPrice.Value)))))

我知道在使用它的值之前需要添加IsNothing,比如,
IIf(Parameters!ControlPanel.value.ToString().Contains(“D”)、CInt(Parameters!Pricing.value*2)、CInt(Parameters!Pricing.value))
您应该首先检查
参数!ControlPanel.Value
for is nothing
IIf(IsNothing(Parameters!Pricing.Value)、0、IIf(IsNothing(Parameters!ControlPanel.Value)、CInt(Parameters!Pricing.Value)、IIf(Parameters!ControlPanel.Value.ToString().Contains(“D”)、CInt(Parameters!Pricing.Value*2)、CInt(Parameters!Pricing.Value)))
我在第一部分中尝试了这一点,但仍然出现错误。
=String.Format("{0:C}", IIf(IsNothing(Parameters!Pricing.Value), 0, IIf(IsNothing(Parameters!ControlPanel.Value), CInt(Parameters!Pricing.Value), IIf(Parameters!ControlPanel.Value.ToString().Contains("D"), CInt(Parameters!Pricing.Value * 2), CInt(Parameters!Pricing.Value))))
+ IIf(IsNothing(Parameters!RMPrice.Value), 0, CInt(Parameters!RMPrice.Value)) 
+ IIf(IsNothing(Parameters!CPPrice.Value), 0, CInt(Parameters!CPPrice.Value))
+ IIf(IsNothing(Parameters!CKPrice.Value), 0, CInt(Parameters!CKPrice.Value)) 
+ IIf(IsNothing(Parameters!FPrice.Value), 0, CInt(Parameters!FPrice.Value)) 
+ IIf(IsNothing(Parameters!GRPrice.Value), 0, IIf(IsNothing(Parameters!ControlPanel.Value), CInt(Parameters!GRPrice.Value), IIf(Parameters!ControlPanel.Value.ToString().Contains("D"), CInt(Parameters!GRPrice.Value * 2), CInt(Parameters!GRPrice.Value)))))