Как я могу использовать несколько iif в отчете SSRS? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть выражение IIF, которое я пытаюсь использовать ...

= iif (sum (Fields! Actual.Value)> 0, «Увеличено»,

iif (sum ( Fields! Actual.Value) <0, «Уменьшено», </p>

iif (sum (Fields! Actual.Value) = 0, «Без изменений», «Нет»)))

или iif (isnothing (sum (Fields! Actual.Value)), «N / ap», «None»)

Это вызывает ошибку. Есть ли другой способ решения этой проблемы?

1 Ответ

2 голосов
/ 14 июля 2020

В таких случаях гораздо проще использовать SWITCH. Switch использует пары выражений для оценки и значений для возврата. Его намного легче читать и обычно не требуется вложения.

Итак, для вашего примера вы можете сделать что-то вроде этого.

=SWITCH (
         SUM(Fields!Actual.Value) > 0, "Increased",
         SUM(Fields!Actual.Value) < 0, "Decreased",
         SUM(Fields!Actual.Value) = 0, "No Change",
         ISNOTHING(SUM(Fields!Actual.Value)) , "N/ap",
         True, "None"
        )

True в конце в основном действует как ELSE, он захватывает все, что не соответствует предыдущим выражениям.

SWITCH останавливается, когда находит первое совпадение, поэтому в зависимости от результата вам может потребоваться изменить порядок или каждую проверку, но начните с этого и посмотрите, что вы получите.

...