在Common Services - > Text - > Item下的SQL Server Reporting Services 2008 R2中的Expression builder窗口中,有一個稱爲Filter的表達式。這似乎對應於.NET框架中的Strings.Filter method。 Filter的說明如下:如何在多值參數中使用String.Filter
根據指定的過濾條件返回包含String數組子集的從零開始的數組。
的實施例是如下:
=Filter(Parameters!MultivalueParameter.Value, "3", True, CompareMethod.Binary)
的示例和描述暗示可以檢查一個多值參數,看是否選定的值中的至少一個等於該匹配參數。我一直無法得到這個返回#Error以外的任何東西,這意味着多值參數不是一維數組。參數!MultivalueParameter.Value.GetType()。ToString()返回System.Object []。
有誰知道如何讓這個工作?我使用下面的解決,以檢查是否在多值參數選擇值:
=IIF(InStr(" " + JOIN(Parameters!MultivalueParameter.Value, " ") + " ", " 3 ", CompareMethod.Text), false, true)
上面的代碼工作,但它是相當難看。如果它支持這種檢查,我寧願使用Filter函數。任何人都可以給出一個有效的代碼示例嗎?
什麼'參數!MultivalueParameter.Value.GetType()。ToString()'給你嗎? – 2010-09-18 05:54:35
偉大的問題。當我今天回家並且讓你知道時,我會檢查這一點。 – 2010-09-18 15:31:08
它返回了System.Object []。我在這個問題上加了這個。 – 2010-09-20 22:26:20