У меня проблема с этим фрагментом кода внутри параметра в SSRS2012.Конструкция IIF не разрешает правильный путь (SSRS)
=IIF(InStr(Parameters!P1.Value,"@")=0,
"missing @",
Left(Parameters!P1.Value(InStr(Parameters!P1.Value,"@")-1)))
Моя цель состоит в том, чтобы проверить, если P1 параметр содержит «@», если это не я напечатает «отсутствует @» в противном случае я хочу, чтобы удалить из этого параметра, что после знака «@» ("@ «внедрено».
пример:
P1 = 123456 -> печать "отсутствует @"
P1 = 123 @ 56 -> печать 123
Проблема заключается в том, что SSRS падает ошибку: «Аргумент 'длина' должна быть больше или равно нулю ", когда я вставляю значение без" @ ". (когда я вставляю значение с «@», все идет хорошо)
Похоже, что IIF разрешает сначала два выражения (а не одно - это истина или ложь), и после этого он дает вам правильный, основанный на оценка первого условия.
Ищет помощь. Благодаря!
Возможный дубликат [вычислят ли функция IIF оба путей в SSRS или это короткое замыкание?] (Http://stackoverflow.com/ вопросы/1204179/do-the-iif-function-compute-both-paths-in-ssrs-or-is-it-short-circuited) – SearchAndResQ
не дубликат, попробовал функцию переключателя, и это то же самое –
Не может быть, что параметр содержит только символ «@» и ничего больше? –