Reporting services 如何连接两个参数的值?(Visual Studio报告2008)
我在VisualStudioReports2008中有一个报告。 我的报表包含数据源2,每个数据源都有参数 如何连接两个参数的值 例如: 参数1、参数值2的值Reporting services 如何连接两个参数的值?(Visual Studio报告2008),reporting-services,ssrs-2008,reporting,Reporting Services,Ssrs 2008,Reporting,我在VisualStudioReports2008中有一个报告。 我的报表包含数据源2,每个数据源都有参数 如何连接两个参数的值 例如: 参数1、参数值2的值 Group1,Class1 Group2, Class1 Group3, Class1 Group4, Class2 Group5, Class2 Group6, Class2 Group7, Class2 Group8, Class2 Group9, Class3 Group10, Class3 Group11, C
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个参数并添加了以下函数(在参数属性-可用值-选择指定值-添加函数中):
或
或
可以使用表达式根据参数1为参数2设置确定的值 如果参数1允许多个值选择,则可以使用
IndexOf
函数。在“参数2属性”的“默认值”选项卡中,选择“指定值”并添加新表达式,使用以下选项:
=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"
)
我建议您将参数2设置为隐藏,以避免
用户手动更改参数的值
让我知道这是否有帮助。参数1和2允许多个值选择 使用新表达式和选择参数值会显示错误: “本地报表处理中出错。参数2” =开关( 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” )
IIf(Parameters!ReportParameter1.Value = " Group9"," Group10"," Group11"," Group12"," Group13" THEN Parameters!ReportParameter2.Value = " Class3")
=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"
)