PerformancePoint 2007出到SP3最高版本后,performancepoint team就不做后续了。现在SharePoint2010把PerformancePoint 融合,也确实强壮了SharePoint本身BI方面的功能。
SharePoint2010本身无论是在安全性,功能体验性还是其他为用户 为developer都在体验方面提供了不小的提升,这个就不用说了。
这个文章主要说说PPS与SharePoint 2010结合方面的一点小经验(the communication of sharepoint custom webpart & PPS report)。
1.SharePoint 本身提供的filter都可以和PPS report进行数据前段的connection的链接。
在performance point 2007中是无法在前段进行数据连接的,只能在dashboard designer中先预先定义好PPS elements之间的关 系,然后在sharepoint 2007中使用。
2. 如何实现自定义的sharepoint webpart接受URL中的参数来过滤PPS report.
a) 实现UserInputFilterWebPart 接口,类库:using Microsoft.SharePoint.Portal.WebControls;
b) 实现接口方法:AutoPostBack() & GetUserSelectedValues()
c) 在GetUserSelectedValues中的返回数组中,返回MDX的字符串数组。
sample code:
protected
override bool AutoPostBack
{
get
{
return false;
}
set
{
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
protected override string[] GetUserSelectedValues()
{
if (Page.Request.QueryString[URLParaName] == null)
return new string[] { "[Dimension Scope].[Scope ID].members" };
else
{
string RScope = Page.Request.QueryString[URLParaName].ToString();
//if you need to pass more parameters to the PPS report, every parameter is a
//element of this string array.
return new string[] { "[Dimension Scope].[Scope ID].&[" + RScope + "]" };
}
}
Caution:
由于这个类别是通过reflector反射PPS类库获得,这个webpart在部署的时候,他的filter name是一个required 字段,如果想要清空这个值,并在前段隐藏掉这个webpart,那么在开发的时候注意在createchildcontrols方法中,要加上如下方法:
sample code:
protected
override void CreateChildControls()
{
base .FilterName = " " ;
base .CreateChildControls();
}
注:以上所有都是在vs 2010中开发!