2013-04-20 102 views
1

我有一个多值参数(Param_Locations),用户可以从中选择多个服务位置(例如LocationA,LocationA Optical Shop,LocationB,LocationB Optical Shop,.. )。选择这些位置对于我将生成的数据集非常重要。然后,我可以使用以下命令在报告的标题中显示选定的位置:= Join(参数!Param_Locations.Label)。SSRS 2008筛选报告标题中显示的多值参数

我遇到的问题是我想过滤出标签中包含“Optical”字样的任何位置。我不希望这些位置显示在报告标题中,即使它们可能已从下拉选择列表中选择。

我已经尝试使用Filter()函数无济于事。任何想法,将不胜感激。

问候! Babak C Phoenix,AZ

回答

2

我会使用自定义代码来做到这一点;它只是有点太复杂,尝试与本地函数做,但你可以通过参数标签环的自定义代码很容易:

Public Function ShowParameterValues(ByVal parameter as Parameter) as String 

    Dim s as String 

    For i as integer = 0 to parameter.Count-1 

    If InStr(CStr(parameter.Label(i)), "Optical") = 0 
     s = s + CStr(parameter.Label(i)) + ", " 
    End If 

    Next 

    s = Mid(s, 1, Len(s) - 2) 

    Return s 

End Function 

通话中,当你想要显示的过滤参数的报告这样的功能标签:

=Code.ShowParameterValues(Parameters!Param_Locations) 

查看Using Custom Code了解更多详情。

2

你是正确的尝试过滤方法。我在SQL Server 2012 SP1中成功测试了下面的代码。

=Join(Filter(Parameters!Param_Locations.Label, "Optical Shop", False), ", ")