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。