如何加入两个参数的值? (Visual Studio 2008 年报告)

How to join the values of two parameters? (Visual Studio Reports 2008)

我在 Visual Studio Reports 2008 中有一份报告。 我的报表包含数据源2,每个数据源都有参数。

如何连接两个参数的值?

示例: 参数1的值,参数2的值

Group1,Class1

Group2, Class1

Group3, Class1

Group4, Class2

Group5, Class2

Group6, Class2

Group7, Class2

Group8, Class2

Group9, Class3

Group10, Class3

Group11, Class3

Group12, Class3

Group13, Class3

我创建了 3 个参数并添加了以下功能(在参数属性 - 可用值 - Select 指定值 - 添加功能):

=IIf(Parameters!ReportParameter1.Value = " Group1"," Group2"," Group3" THEN Parameters!ReportParameter2.Value = " Class1")

IIf(Parameters!ReportParameter1.Value = " Group4"," Group5"," Group6"," Group7"," Group8" THEN Parameters!ReportParameter2.Value = " Class2")

IIf(Parameters!ReportParameter1.Value = " Group9"," Group10"," Group11"," Group12"," Group13" THEN Parameters!ReportParameter2.Value = " Class3")

您可以使用表达式根据参数 1 为参数 2 设置一个确定的值。

如果您的参数 1 允许多个值 select 离子,您可以使用 IndexOf 函数。在参数 2 属性的默认值选项卡中,select 指定值并添加新表达式,使用以下内容:

=Switch(
Array.IndexOf(Parameters!MyParam1.Value,"Group1")>-1,"Class1",
Array.IndexOf(Parameters!MyParam1.Value,"Group2")>-1,"Class1",
Array.IndexOf(Parameters!MyParam1.Value,"Group3")>-1,"Class1",
Array.IndexOf(Parameters!MyParam1.Value,"Group4")>-1,"Class2",
Array.IndexOf(Parameters!MyParam1.Value,"Group5")>-1,"Class2",
Array.IndexOf(Parameters!MyParam1.Value,"Group6")>-1,"Class2",
Array.IndexOf(Parameters!MyParam1.Value,"Group7")>-1,"Class2",
Array.IndexOf(Parameters!MyParam1.Value,"Group8")>-1,"Class2",
Array.IndexOf(Parameters!MyParam1.Value,"Group9")>-1,"Class3",
Array.IndexOf(Parameters!MyParam1.Value,"Group10")>-1,"Class3",
Array.IndexOf(Parameters!MyParam1.Value,"Group11")>-1,"Class3",
Array.IndexOf(Parameters!MyParam1.Value,"Group12")>-1,"Class3",
Array.IndexOf(Parameters!MyParam1.Value,"Group13")>-1,"Class3"
) 

否则,如果您的参数不允许多个值,您可以简单地使用:

=Switch(
Parameters!MyParam1.Value = "Group1","Class1",
Parameters!MyParam1.Value = "Group2","Class1",
Parameters!MyParam1.Value = "Group3"1,"Class1",
Parameters!MyParam1.Value = "Group4","Class2",
Parameters!MyParam1.Value = "Group5","Class2",
Parameters!MyParam1.Value = "Group6","Class2",
Parameters!MyParam1.Value = "Group7","Class2",
Parameters!MyParam1.Value = "Group8","Class2",
Parameters!MyParam1.Value = "Group9","Class3",
Parameters!MyParam1.Value = "Group10","Class3",
Parameters!MyParam1.Value = "Group11","Class3",
Parameters!MyParam1.Value = "Group12","Class3",
Parameters!MyParam1.Value = "Group13","Class3"
)

I recommend you set the Parameter 2 to be hidden in order to avoid user change manually the value of the parameter.

如果有帮助请告诉我。

参数1和2允许多值选择

使用新的表达式和参数值的选择显示错误: "Error in the local report processing. parameter2"

=开关(

Array.IndexOf(参数!MyParam1.Value,"Group1")>-1,"Class1",

Array.IndexOf(参数!MyParam1.Value,"Group2")>-1,"Class1",

Array.IndexOf(参数!MyParam1.Value,"Group3")>-1,"Class1",

Array.IndexOf(参数!MyParam1.Value,"Group4")>-1,"Class2",

Array.IndexOf(参数!MyParam1.Value,"Group5")>-1,"Class2",

Array.IndexOf(参数!MyParam1.Value,"Group6")>-1,"Class2",

Array.IndexOf(参数!MyParam1.Value,"Group7")>-1,"Class2",

Array.IndexOf(参数!MyParam1.Value,"Group8")>-1,"Class2",

Array.IndexOf(参数!MyParam1.Value,"Group9")>-1,"Class3",

Array.IndexOf(参数!MyParam1.Value,"Group10")>-1,"Class3",

Array.IndexOf(参数!MyParam1.Value,"Group11")>-1,"Class3",

Array.IndexOf(参数!MyParam1.Value,"Group12")>-1,"Class3",

Array.IndexOf(参数!MyParam1.Value,"Group13")>-1,"Class3"

)