使用 IIF 向表达式添加更多值

Add more values to expression using IIF

我正在寻求帮助更新 SSRS 报告中使用的表达式。

当前表达式是这样的:

=IIF(Fields!Type.Value = "TKT", "Ticket No.", 
     IIF(Fields!Type.Value = "CUN", "Customer Number", 
         IIF(Fields!Type.Value = "ANM", "Account Number", 
             IIF(Fields!Type.Value = "CID", "Client ID", ""))))

我们又添加了几个"Types"

所以对于类型 "TKT",现在我们有:"TKT1"、"TKT2"。对于类型 "CUN",现在我们有 "CUN1"、“CUN2,等等最后 2 个。

我不熟悉在使用 IIF 函数时如何指定多个值(类似于 IN 运算符)。

如果有人可以分享一些有关如何完成此操作的信息,那就太棒了。

提前感谢您的帮助。

在事情失控之前,您最好将此表达式转换为 SWITCH 语句。 SWITCH 接受您需要添加的任意数量的条件和结果配对。以下表达式允许您根据需要添加任意数量的检查,最终配对 true,"" 只是将任何与 switch 语句不匹配的项设置为空值。

=SWITCH(Fields!Type.Value = "TKT1", "Ticket No.",
        Fields!Type.Value = "TKT2", "Ticket No.",
        Fields!Type.Value = "CUN1", "Customer Number",
        Fields!Type.Value = "CUN2", "Customer Number",
        Fields!Type.Value = "ANM", "Account Number",
        Fields!Type.Value = "CID", "Client ID",
        [add additional pairings here],
        true, "")

另一种解决方案是在 SSRS 中使用 Contains 关键字。这将搜索字符串以找到特定的子字符串。您可以简单地将每个条件修改为以下 return true 如果字段包含该子字符串。

Fields!Type.Value.Contains("TKT")