让我们剖析你的陈述:
=SUM(
IIF(UCASE(TRIM(Fields!UOP.Value))="Y",
IIF(UCASE(TRIM(Fields!HED.Value))="Y",
IIF(UCASE(TRIM(Fields!FROMB.Value))="RED",
IIF(UCASE(TRIM(Fields!TOB.Value))="BLUE",
1,
0),
0),
0)
)
你的括号不平衡,你错过了第一个的错误论点IIF
。
或者,您可以反转您的条件并SWITCH
改为使用,这会更容易阅读:
=SUM(Switch( _
UCASE(TRIM(Fields!UOP.Value))<>"Y", UOPFalseValue, _
UCASE(TRIM(Fields!HED.Value))<>"Y", 0, _
UCASE(TRIM(Fields!FROMB.Value))<>"RED", 0, _
UCASE(TRIM(Fields!TOB.Value))<>"BLUE", 0, _
True, 1))
或者,由于您的错误值始终为 0,因此您可以使用以下条件组合条件And
:
=SUM(IIF(And(And(And(UCASE(TRIM(Fields!UOP.Value))="Y", _
UCASE(TRIM(Fields!HED.Value))"Y"), _
UCASE(TRIM(Fields!FROMB.Value))="RED"), _
UCASE(TRIM(Fields!TOB.Value))="BLUE"), 1, 0))