【问题标题】:SSRS IIF statement from another expression example来自另一个表达式示例的 SSRS IIF 语句
【发布时间】:2016-11-23 13:35:52
【问题描述】:

我有一个表达式,它写在 Crystal Reports 计算字段中,如下所示:

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")))

但是上面的代码给了我错误。如有任何帮助,我将不胜感激。

【问题讨论】:

  • 请使用正确的标签,Crystal Reports 不是 VB.NET,即使语法在某些地方看起来很相似,所以请编辑您的问题以删除 VB.NET 标签。请在问题中正确格式化您的代码以提高可读性。最后,请包含错误消息,因为我们只是在猜测。感谢您是新人,所以请关注tour 并查看How to ask。谢谢,
  • 在最后一个IIF语句中,False部分有2个值“Check MDR”“Check MDR”。我认为这是您的问题。

标签: reporting-services crystal-reports reporting


【解决方案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"
)

如果这有帮助,请告诉我。

【讨论】:

  • 非常感谢 alejandro 的工作。任何教程链接,我可以更好地理解 iff 并切换多种情况。我是第一次使用vb,所以很难。再次感谢
  • @DeveshSharma,SSRS 表达式是subset of VB,但是您可以使用custom functions 中的VB 代码。如果我的回答解决了您的问题,您可以将其标记为正确答案,请查看how to do it
猜你喜欢
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多