2013-04-20 116 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), ", ")