Аргумент не указан для параметра ‘FalsePart’ функции ‘Public

#reporting-services #ssrs-2012

Вопрос:

Я пытаюсь получить условие поля, чтобы дать мне N/A, когда оно пустое. Также дать мне потерпеть неудачу на определенных условиях. Кроме того, в переменной pass/fail дайте мне PASS или fail для переменной. Чего не хватает в моем синтаксисе?

 =IIf(IsNothing(Variables!PassFail.Value),"N/A", iif(Variables!NameVer.Value = " x") Or (Variables!levPassFail.Value = "FAIL") Or (Variables!countPassFail.Value = "FAIL"),"FAIL", Variables!PassFail.Value)  

Ответ №1:

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

Ниже будет воспроизведена ваша первоначальная попытка

 =IIF(  IsNothing(Variables!PassFail.Value)  ,"N/A"  , IIF(Variables!NameVer.Value = " x" Or Variables!levPassFail.Value = "FAIL" Or Variables!countPassFail.Value = "FAIL"  ,"FAIL"  , Variables!PassFail.Value  )  )  

Примечание: Я не уверен, что = " x" это опечатка и должна быть = "x" , но я оставил там ваш исходный код.

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

Комментарии:

1. спасибо тебе за ответ, Алан. Я все еще получаю аргумент BC30455], не указанный для параметра ‘FalsePart’ «Публичной функции IIf(Выражение Как логическое, Истинная часть Как объект, Ложная часть Как объект) Как объект». После загрузки выражения и и попытки сохранения. Ссылка на таблицу в SSRS представляет собой сводную таблицу. Все, что делает эта таблица, — это смотрит на выходные данные установленных переменных. Должен ли я вместо этого использовать ссылки на поля, изменит ли это вообще симптом?

2. Похоже, вы пропустили часть кода. Я только что посмотрел на него еще раз, и, похоже, все в порядке, но сейчас полночь, так что я, возможно, устал и что-то упустил… Вам, вероятно, нужно показать, с чем вы работаете. Вы можете использовать Fields! ссылки только на справочные данные в своем наборе данных, если вы тестируете переменные, то вам придется их использовать Variables! . Просто непонятно, что вы на самом деле пытаетесь сделать.

3. В настоящее время я не получаю никаких ошибок после сохранения. Но я тестирую отчет с помощью построителя отчетов со случайной информацией, чтобы имитировать пустые данные или отсутствие данных, чтобы предоставить мне часть инструкции If. Я предполагаю, что сама переменная также должна была бы дать мне пустое значение, чтобы сводка дала мне ответ, основанный на пустом,

4. «Это переменная для PassFail.value» =IIf(Max(Поля!res. Значение, «Данные») > Переменные!изменяемые. Значение, «СБОЙ», «ПРОПУСК»)

5. Возможно, вам захочется либо протестировать IsNothing(Variables!PassFail.Value) деталь, либо инициализировать переменную чем-то, что вы можете протестировать, например пустой строкой. Я не уверен , что переменная когда-либо будет nothing , я могу ошибаться, я просто не знаю, так что, возможно, стоит протестировать эту часть, а затем поработать над следующей частью, как только вы узнаете, что эта часть работает должным образом.