SSRS IIF语句

问题描述:

我这是写在一个水晶报表计算领域如下的表达式: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://*.com/tour),并看看[如何问](http://*.com/help/how-to-ask) 。谢谢, – Bugs

+0

在最后的IIF声明中,False部分有2个“Check MDR”“Check MDR”值。我认为这是你的问题。 –

尝试使用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),但是您可以在[自定义函数](https)中使用VB代码://msdn.microsoft.com/en-us/library/ms156028.aspx)。如果我的答案解决了您的问题,您可以将其标记为正确答案,请检查[如何执行此操作](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 –