Вложенный iif с несколькими условиями SSRS

Мне нужно написать формулу для отчета SSRS. Я не уверен в точном синтаксисе, но я думаю, что это должен быть вложенный iif, но с несколькими критериями, проверяющий значение полей диаграммы и деления. В конце дня, если диаграмма=110300 и дивизион=100, то "Межфирменная AP - США" или если диаграмма=110300 и дивизион=200, то "Межфирменная AP - RUS" в противном случае, то просто отобразить имя диаграммы. Что-то вроде этого, но на самом деле написано правильно.

iif Fields!chart.Value="110300" and Fields!division.Value="100" then
Fields!chartname.Value="Intercompany AP - USA" if Fields!chart.Value="110300"
and Fields!division.Value="200" then Fields!chartname.Value=
"Intercompany AP - RUS" else Fields!chartname.Value

Я очень ценю любую помощь в этом!


person jenhil34    schedule 01.03.2013    source источник


Ответы (1)


Вы в значительной степени решили эту проблему самостоятельно! Чтобы записать это в T-SQL, щелкните правой кнопкой мыши имя диаграммы и измените его значение на следующее выражение:

IIF(Fields!chart.Value="110300" AND Fields!division.Value="100","Intercompany AP - USA",IIF(Fields!chart.Value="110300" AND Fields!division.Value="200","Intercompany AP - RUS","Default Chart Name")

Подробнее о том, как работает функция IIF, см. здесь.

Из ссылки вы можете видеть, что она имеет следующий формат, где вместо «Тогда» или «Еще» используются запятые:

IIF ( boolean_expression, true_value, false_value )

Итак, чтобы разбить выражение:

IIF(Fields!chart.Value="110300" AND Fields!division.Value="100",
    "Intercompany AP - USA",
     IIF(Fields!chart.Value="110300" AND Fields!division.Value="200",
        "Intercompany AP - RUS",
        "Default Chart Name"
     )
)
person Tom Jenkin    schedule 01.03.2013
comment
Большое спасибо за ваш heko @tom jenkin!! - person jenhil34; 04.03.2013
comment
Лучший ответ! @Том - person Leonardo; 08.03.2021