你能做到嗎?我想要使用的列表過濾器如下所示:按Reporting Services 2005中的自定義代碼過濾列表?
Expression Operator Value
=Code.GetOccCat(Fields!accountnumber.Value) = =1
沒有骰子。基本上,就像過濾器一樣,函數返回null,但是當我關閉過濾器並將完全相同的函數調用放在列表中的文本框中時,它將返回應該返回的內容。你能不能做到這一點,或者我錯過了什麼?
編輯:這裏的功能,完全簡單:
Public Function GetOccCat(ByVal AccountNum As Integer) As Integer
Return OccCat(AccountNum)
End Function
OccCat是通過先前的函數調用填充整數數組公開。再次,正確的值顯示,如果我只是把它放在一個文本框中,所以數組被驗證正確填寫。
編輯:數組通過報表頂部的列表進行填充。該列表重複accountnumber沒有過濾器。裏面的列表包含此代碼的文本框:
=Code.SetOccupancy(Fields!accountnumber.Value, First(Fields!new_total_hours.Value)/First(Fields!new_capacity.Value))
及這裏的功能:
Public Function SetOccupancy(ByVal AccountNum As Integer, ByVal Occ As Double) As String
Occupancy(AccountNum) = Occ
Select Occ
Case Is > .85
OccCat(AccountNum) = 1
Case .7 to .849
OccCat(AccountNum) = 2
Case .4 to .699
OccCat(AccountNum) = 3
Case Is < .4
OccCat(AccountNum) = 4
End Select
Return ""
End Function
FWIW,我也試着基於佔用陣列上該過濾器(即>在這0.85案例)並得到相同的結果。
我把它放進去了,但它非常簡單。 – extarbags 2010-09-02 17:03:31
只需進行編輯,請檢查並讓我知道。 – user404463 2010-09-02 18:01:49
我沒有試圖根據每個字段的字段進行過濾,實際上我試圖根據函數調用的結果進行過濾,並將字段作爲參數傳遞。換句話說,我真正想要的是它評估Code.GetOccCat(accountnumber)並顯示返回1的行。 – extarbags 2010-09-02 18:45:16