MOSS整合BI 二

这里把前段时间的MOSS和BI的项目做个总结和整理。希望能对大家有所借鉴!

MOSS整合BI 第一篇文章中的方法比较简单,这个是我们应用的效果比较好的结构。

系统整体结构: MOSS + BI

前台提供过滤数据,传递给后台,BI接受过滤参数实现报表呈现。

实现方法:

1. 核心方法:http://blogs.msdn.com/prash/archive/2009/01/21/passing-url-report-parameters-to-reports-in-sharepoint-document-library-in-ssrs-2008.aspx

请参考并安装SQL Server Reporting Services 2008 Integration with SharePoint Add-in

2. 参数传递与报表呈现

2.1 自定义一个filter webpart(注意:与database中的数据同步!).

2.2 在同一页面增加一个content editor webpart, 内容增加一个装载report的容器IFRAME控件!

2.3 在同一页面中再增加一个content editor webpart. 其中放置相应的操作的javascript内容。

      javascript作用: 构造报表的URL(所构造成的形式参考1.),并更新2.2中的IFRAME的SRC属性。

3. BI部分,将生成的报表发布到site的list中。

Sample code:

 

IFrame:

<iframe id="iframe_id" name="iframe_name"></iframe>

 

JS:

var baseReportUrl = '../_layouts/ReportServer/RSViewerPage.aspx?' + displayParameters  + '&' + displayToolbar + '&' + displayHeaderArea + '&rv:RelativeReportUrl=/Documents/';

 

var baseReportURL = baseReportUrl + 'report.rdl';

 

var baseReportURLwithParameters = baseReportURL ;

 

var reportURLwithParameters = baseReportURLwithParameters + '&rp:parameter1=' + parameter1_value;

 

document.getElementById('iframe_id').src = reportURLwithParameters;

 

如果需要在报表字段中增加掉转或其他逻辑,需要定义一个和报表定义的javascript方法名字相同的javascript方法,然后在这个js中进行重写!

 

BI reports:

 

所有的报表发布到documet list里!

 

基本构成就是这样!对于一个页面多个报表,造成显示性能缓慢的问题,可以通过一个报表包含多个subreport的形式来完成。

 

这个结构主要适用于静态报表的展现,但是如果有用户自定义报表的功能,也可使用,不过在报表开发方面需要加入大量的判断逻辑,当不同的条件显示不同的报表。如果更深入一点,用户需要自定义报表显示列的话,这个就不适用了!仅供参考!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值