2017-02-01 9 views
0

Я хочу понять, если можно установить условное выражение гиперссылки в SSRS в настройке Action.SSRS выражения гиперссылок

Мой код, который работает в настоящее время является

=iif(First(Fields!IsHosted.Value, "ReportServer") = "Y",  First(Fields!ServerName.Value, "ReportServer"), Globals!ReportServerUrl) + 
"/Pages/ReportViewer.aspx?" + Globals!ReportFolder + "/" + 
code.GetTargetReportName("Student Performance Against Goal Drill") + 
"&GoalCol=" + Code.URLEncode(Parameters!GoalCol.Value) + 
"&SectionCol=" + Code.URLEncode(Parameters!SectionCol.Value) + 
"&TargetCol=" + Code.URLEncode(Parameters!TargetCol.Value) + 
"&ItemCol=" + Cstr(Fields!Item.Value) 

Я просто хочу сказать: «Если поле B = 0, то ничего не делать, иначе использовать выше. Я не знаком, как обернуть это утверждение в действии.

+0

Целью этого является предотвращение сверления пользователя до отчета детализации, когда значение равно 0, и отображает пустой отчет. –

+0

Какое поле вы хотите проверить, не равно нулю? –

+0

Итак, поле «Поле» - это упражнение сверления - есть другой столбец (поле B) - если поле B = 0, то действие сверления на поле «A» ничего не должно делать, иначе действие сверления на поле «A» должно сверлить в соответствии с действием. –

ответ

0

Вы можете вкладывать IIF() функции:

=IIF(First(Fields!B.Value,"ReportServer") = 0,Nothing, 
iif(First(Fields!IsHosted.Value, "ReportServer") = "Y",First(Fields!ServerName.Value, "ReportServer"), Globals!ReportServerUrl) + 
"/Pages/ReportViewer.aspx?" + Globals!ReportFolder + "/" + 
code.GetTargetReportName("Student Performance Against Goal Drill") + 
"&GoalCol=" + Code.URLEncode(Parameters!GoalCol.Value) + 
"&SectionCol=" + Code.URLEncode(Parameters!SectionCol.Value) + 
"&TargetCol=" + Code.URLEncode(Parameters!TargetCol.Value) + 
"&ItemCol=" + Cstr(Fields!Item.Value) 
) 

Я не знаю, что структура набора данных, но это может помочь вам

.
+0

Это URL-адрес изменен, однако он сообщает, что ожидаемый конец заявления. Не уверен, где отсутствует синтаксис. –

+0

= IIF (First (Fields! NoOfStudents.Value, «RSItemPerformanceAgainstGoal») = 0, Nothing, iif (First (Fields! IsHosted.Value, «ReportServer») = «Y», First (Fields! ServerName.Value, ReportServerUrl) + «/Pages/ReportViewer.aspx?» + Globals! ReportFolder + «/» + code.GetTargetReportName («Студенческая производительность против дрели цели») + «& GoalCol =" + Code. URLEncode (Параметры! GoalCol.Value) + "& SectionCol =" + Код.URLEncode (Параметры! SectionCol.Value) + "& TargetCol =" + Код.URLEncode (Parameters! TargetCol.Value) + "& ItemCol =" + Cstr (Fields! Item.Value)) ) –

+0

@jasonbarry, я обновил выражение, просто удалил дополнительную скобку. Попробуйте. –