Сумма IIF с несколькими значениями в SSRS
У меня проблема с моим выражением.
Я пытаюсь написать: если он находит эти конкретные коды в столбце набора данных, суммируйте их и верните сумму. Тем не менее, я получаю #ERROR
,
Любая помощь с этим выражением очень ценится.
=Sum(IIf(Sum(Fields!BillCode.Value) LIKE "EPOC, EPTX, STOR, PARK, ANTR", (Fields!Amount.Value), "$0.00"))
2 ответа
Решение
Вам нужно выражение, подобное этому:
=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))