Сумма 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))
Другие вопросы по тегам