1

我有一个字段 CODE_USER_2 可以等于 1.75、2、2.62、3.75、5.25、6、OT(w/2 个空格或_ _(4 个空格)。如果是 1.75、2、2.62、3.75、5.25, 6 我希望得到相应的权重(此部分有效)。

如果该字段是__ 或 OT,我希望等式的结果为 0。我目前使用以下公式得到 #error。

=IIf(Fields!CODE_USER_2_IM.Value= " " OR "OT" ,0,Switch(Fields!CODE_USER_2_IM.Value=1.75,.629,Fields!CODE_USER_2_IM.Value=2,.67,Fields!CODE_USER_2_IM.Value=2.62, 1.089,Fields!CODE_USER_2_IM.Value=3.75,1.767,Fields!CODE_USER_2_IM.Value=5.25,3.224,Fields!CODE_USER_2_IM.Value=6,3.895))

如果您有想法,请告诉我!

4

1 回答 1

0

您必须在 OR 之后重复“Fields!CODE_USER_2_IM.Value =”。

或者试试这个 - 更少罗嗦但更晦涩:

=IIf( ( " |OT |" ).Contains(字段!CODE_USER_2_IM.Value + "|"

,0,Switch(Fields!CODE_USER_2_IM.Value=1.75,.629,Fields!CODE_USER_2_IM.Value=2,.67,Fields!CODE_USER_2_IM.Value=2.62,1.089,Fields!CODE_USER_2_IM.Value=3.75,1.767,Fields!CODE_USER_2_IM .Value=5.25,3.224,字段!CODE_USER_2_IM.Value=6,3.895

, 真, 0))

始终使用以下命令关闭 Switch:

, 真 , [默认值] )

还要注意,SSRS 表达式中的匹配是精确的,例如 2 个空格不 = 4 个空格。

于 2012-11-06T01:13:31.353 回答