Reporting services 在文本框中动态显示所有参数的值
我们有许多历史SSRS报告,并希望在输出的最后一页添加一个可选术语表,显示所有参数(包括多个选择)的值 在代码或程序集中是否有任何通用的方法来实现这一点,或者我是否必须手动创建特定于每个报表的表达式?e、 g.我知道这种表达方式会起作用,但如果我必须按照报告进行表达,则会很费劲:Reporting services 在文本框中动态显示所有参数的值,reporting-services,Reporting Services,我们有许多历史SSRS报告,并希望在输出的最后一页添加一个可选术语表,显示所有参数(包括多个选择)的值 在代码或程序集中是否有任何通用的方法来实现这一点,或者我是否必须手动创建特定于每个报表的表达式?e、 g.我知道这种表达方式会起作用,但如果我必须按照报告进行表达,则会很费劲: ="Param1:"+CStr(Parameters!p1.Value) + vbCrLF + "Param2:" +CStr(Parameters!p2.Value) + vbCrLF + "Param3:" +C
="Param1:"+CStr(Parameters!p1.Value) + vbCrLF
+ "Param2:" +CStr(Parameters!p2.Value) + vbCrLF
+ "Param3:" +CStr(Parameters!p3.Value)
谢谢,
MrHH您可以通过将参数传递给自定义函数来完成此操作。我构建了一个简单的示例,其中包含一个国家列表作为参数 将以下函数添加到报告的代码部分
Public Function ListSelectedParaValues(ByVal p as Parameter) as String
Dim pList as String
Dim i as Integer
If p.IsMultiValue then
For i = 0 to p.Count-1
pList = pList + "Value " + cstr(i) + ": " + CStr(p.Value(i)) + " " + chr(13) + chr(10)
Next
Else
pList = CStr(p.Value)
End If
Return pList
End Function
要测试这一点,请添加一个文本框并将其表达式设置为
=Code.ListSelectedParaValues(Parameters!Countries)
显然,您需要用参数名称替换出国家/地区
,但不要像通常那样附加值
,否则将失败,您只需要参数名称
输出如下所示
太好了,谢谢。那么,报告中是否有一个参数集合,允许您循环每个参数,然后使用您的方法解析每个参数?不幸的是,SSRS文档明确指出,您无法遍历参数集合,并且必须知道参数名称。