2016-11-23 6 views
-1

У меня есть выражение, которое записывается в рассчитанном поле Crystal Reports следующим образом:SSRS IIF заявление от другого примера выражения

if {SERVICE_POINTS.CODE} in ["MIDRO", "MID3F", "MID5C", "MIDAC", "MIDBL", "MIDBM", "MIDDA","MIDCO", "MIDSW", "MIDBV", "MIDHV", "MIDNV", "MIDSV", "TEABV", "MIDHB"] then "MIDWIFERY LED" 
else if {SERVICE_POINTS.CODE} in ["RAADP", "MIDAO", "MIDBC", "MIDLB", "MIDLA","MIDNB","CONC1", "CONC2", "TEAAI", "TEBDJ", "TECCI", "TEDBJ", "MIDBF"] then "NURSE LED" 
else if {SERVICE_POINTS.CODE} in ["BOMCB", "THOCA", "THOGY", "THOGT"] then "ANAES" 
ELSE ""Check MDR""Check MDR"" 

Теперь я пытаюсь повторить ту же формулу в SSRS и придумал следующее код:

IIF(SERVICE_POINTS_CODE.Value IN ["MIDRO", "MID3F", "MID5C", "MIDAC", "MIDBL", "MIDBM", "MIDDA","MIDCO", "MIDSW", "MIDBV", "MIDHV", "MIDNV", "MIDSV", "TEABV", "MIDHB"] ,"MIDWIFERY LED", 
IIF(SERVICE_POINTS_CODE.Value IN ["RAADP", "MIDAO", "MIDBC", "MIDLB", "MIDLA","MIDNB","CONC1", "CONC2", "TEAAI", "TEBDJ", "TECCI", "TEDBJ", "MIDBF"], "NURSE LED" , 
IIf (SERVICE_POINTS.CODE in ["BOMCB", "THOCA", "THOGY", "THOGT"] ,"ANAES" ,"Check MDR""Check MDR"))) 

Но приведенный выше код дает мне ошибки. Я был бы благодарен за любую помощь.

+1

Пожалуйста, используйте правильные теги, 'Crystal Reports' не' VB.NET', даже если синтаксис действительно похож на места, поэтому отредактируйте свой вопрос, чтобы удалить тег 'VB.NET'. Пожалуйста, правильно отформатируйте свой код в вопросе для удобства чтения. И, наконец, включите сообщение об ошибке, так как без этого мы просто догадываемся. Я ценю, что вы новичок, поэтому примите [тур] (http://stackoverflow.com/tour) и посмотрите [Как спросить] (http://stackoverflow.com/help/how-to-ask) , Спасибо, – Bugs

+0

В последнем заявлении IIF False часть имеет 2 значения «Check MDR» «Check MDR». Я думаю, что это твоя проблема. –

ответ

1

Попробуйте использовать IndexOf функцию:

=Switch(
Array.IndexOf(Split("MIDRO,MID3F,MID5C,MIDAC,MIDBL,MIDBM,MIDDA,MIDCO,MIDSW,MIDBV,MIDHV,MIDNV,MIDSV,TEABV,MIDHB" , ","), Fields!SERVICE_POINTS_CODE.Value)>-1 ,"MIDWIFERY LED", 
Array.IndexOf(Split("RAADP,MIDAO,MIDBC,MIDLB,MIDLA,MIDNB,CONC1,CONC2,TEAAI,TEBDJ,TECCI,TEDBJ,MIDBF" , ","), Fields!SERVICE_POINTS_CODE.Value)>-1 ,"NURSE LED", 
Array.IndexOf(Split("BOMCB,THOCA,THOGY,THOGT" , ","), Fields!SERVICE_POINTS_CODE.Value)>-1,"ANAES", 
true,"Check MDR" 
) 

Позвольте мне знать, если это помогает.

+0

Большое спасибо alejandro, который работает. любая ссылка на учебник, где я могу лучше понять iff и переключиться на несколько случаев. Я использую vb в первый раз, так что нелегко. Еще раз спасибо –

+0

@DeveshSharma, выражение SSRS - это [подмножество VB] (https://msdn.microsoft.com/en-us/library/ms157328.aspx), однако вы можете использовать код VB в [пользовательских функциях] (https : //msdn.microsoft.com/en-us/library/ms156028.aspx). Если мой ответ решит вашу проблему, вы можете отметить его как правильный ответ, отметьте [как это сделать] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). –

 Смежные вопросы

  • Нет связанных вопросов^_^