Analysis Services 2005的一個新增功能是KPI,然而這種功能在Reporting Services 2005中卻無法使用,也就是說,Reporting Services 2005無法讀取Analysis Services的KPI,這裡提供兩種解決辦法:
1.通過Report Builder
我們可以在Report Builder中創建報表,可以直接讀取Analysis Services中已經設置好的KPI,由於Report Builder的報表設計功能有限,所以我們可以將已經添加好KPI的報表保存起來,再利用開發環境打開進行其他設置,增加其他功能。
缺點是我們無法對KPI的圖標進行設置。
2.利用自定義代碼
在開發環境中,我們同樣可以利用自定義代碼來完成對KPI的讀取。
首先我們需要將所需的KPI圖標讀取到報表中,這樣我們可以在報表裡面利用這些圖標,也可以將其讀取到項目中,這樣,項目中所有的報表都可以利用這些圖標。
接下來我們設定如下的代碼:
Public Function GetKPI(ByVal currentValue As Integer,ByVal type As String) As String
Select currentValue
Case 1
Return type &"2"
Case 0
Return type &"1"
Case -1
Return type &"0"
End Select
End Function
自定義函數通過從Cube中讀取的狀態和趨勢值,在圖像的屬性Value中設置
=code.GetFace(Fields!Product_Gross_Profit_Margin_狀態_.Value,"cyl")
來獲取圖標的文件名,其中,type是圖標的類型。這樣,我們可以自定義這些圖標,同時,圖標也可以是Flash。