Reporting services 在允许多个值的参数上使用开关(报表生成器3.0)

Reporting services 在允许多个值的参数上使用开关(报表生成器3.0),reporting-services,switch-statement,Reporting Services,Switch Statement,我正在尝试构建一个小的动态表达式,根据所选参数更改报告中的单词。我接着回答了这个问题 带着表情 =Switch ( Parameters!LineCalled.Value = "01156842190","Order Line", Parameters!LineCalled.Value = "01156842191","Overflow Line", true, "Both Lines" ) 但当它运行时,我出错了。我认为原因是默认情况下,我的参数选择了两种可能的选项(顺序和溢

我正在尝试构建一个小的动态表达式,根据所选参数更改报告中的单词。我接着回答了这个问题

带着表情

=Switch 
(
  Parameters!LineCalled.Value = "01156842190","Order Line",
  Parameters!LineCalled.Value = "01156842191","Overflow Line",
  true, "Both Lines"
)
但当它运行时,我出错了。我认为原因是默认情况下,我的参数选择了两种可能的选项(顺序和溢出)。有没有一种方法可以编写一个开关(或者我猜是一些嵌套的IIF),这样它可以检测一个主选项一个辅助选项和第三种情况,其中两个选项都被选中,并相应地更改显示的单词

编辑:

根据请求,我为参数添加了可用值和默认值的视图


如编辑中所述,您有多选参数。 假设您的参数有两个值 0115684219和0115684219
参数!LineCalled.Count
将给出您的计数,如果您选择了2个值或1个值或全部值

在您的案例中,2是全部,这也是您的默认值

下面的表达式将得到您想要的结果

=IIF(Parameters!LineCalled.Count<>2,IIF(Parameters!LineCalled.Value(0) = "01156842190","Order Line","Overflow Line"),"Both Lines")
=IIF(参数!LineCalled.Count2,IIF(参数!LineCalled.Value(0)=“0115684219”,“订单行”,“溢出行”),“两行”)

您的参数是多选的吗?“两行”是什么意思?当用户选择这两个值时,它应该同时添加“订单行”和“溢出行”,您能否向我们显示您的报告设计w.r.t参数。是的,它是多选的。默认情况下,它会选择“两行”,我希望在我的文本表达式中将其翻译为“两行”。谢谢。有一条评论,当我使用你的确切语法时,仍然抛出了一个#错误。我用参数修正了它!LineCalled.Value(0)而不是简单的参数!LineName.Value。不知道为什么,但这起作用了。