在SSRS中具有多个值的Sum IIF

时间:2016-01-07 20:49:58

标签: reporting-services sum iif ssrs-expression

我的表情有问题。

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

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

=Sum(IIf(Sum(Fields!BillCode.Value) LIKE "EPOC, EPTX, STOR, PARK, ANTR", (Fields!Amount.Value), "$0.00"))

2 个答案:

答案 0 :(得分:0)

你需要一个这样的表达式:

=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 ))

OR如果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")

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

enter image description here

答案 1 :(得分:0)

尝试这样的表达

=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))