将 IIF 与 SSRS 中的多个值相加

Sum IIF with multiple values in SSRS

我的表情有问题。

我正在尝试编写:如果它在数据集列中找到这些特定代码,请将它们求和并 return 金额。但是,我收到 #ERROR

非常感谢任何对此表达式的帮助。

=Sum(IIf(Sum(Fields!BillCode.Value) LIKE "EPOC, EPTX, STOR, PARK, ANTR", (Fields!Amount.Value), "[=10=].00"))

您需要这样的表达式:

=SUM(IIF(UCASE(Fields!BillCode.Value) = "EPOC" 
         OR UCASE(Fields!BillCode.Value) = "EPTX" 
         OR UCASE(Fields!BillCode.Value) = "STOR" 
         OR UCASE(Fields!BillCode.Value) = "PARK" 
         OR UCASE(Fields!BillCode.Value) = "ANTR"
        , Fields!Amount.Value
        , 0 ))

或者如果 BillCode 值除了代码之外还有其他信息,那么像这样

=SUM(IIF(UCASE(Fields!BillCode.Value) LIKE "*EPOC*" 
         OR UCASE(Fields!BillCode.Value) LIKE "*EPTX*" 
         OR UCASE(Fields!BillCode.Value) LIKE "*STOR*" 
         OR UCASE(Fields!BillCode.Value) LIKE "*PARK*" 
         OR UCASE(Fields!BillCode.Value) LIKE "*ANTR*"
        , Fields!Amount.Value
        , 0 ))

要将其格式化 以显示为货币,请将您的文本框格式设置为 C0

或设置表达式 =Format(SUM.....,"C0")

或右键单击并转到文本框属性并设置格式

试试这样的表达方式

=Sum(IIF(InStr(Fields!BillCode.Value, "EPOC") > 0
             OR InStr(Fields!CODE.Value, "EPTX") > 0
             OR InStr(Fields!CODE.Value, "STOR") > 0
             OR InStr(Fields!CODE.Value, "PARK") > 0
             OR InStr(Fields!CODE.Value, "ANTR") > 0,
         Fields!Amount.Value, 0))