BI@Report经常需要与第三方系统进行集成,集成方式多样。比较常见的一种方式,就是通过URL调用BI中的报表资源,集成在第三方系统中。
本章我们一起来了解一下BI41的URL接口
在BI4.1中,以.do作为请求URL的后缀。BI41支持调用多种报表资源,包括:分析表,主题表,easyolap,分析报告和结果表等。
.rpttpl | 报表模板 | Showreport.do |
.rpt | 报表模板 | Showreport.do |
.rptolap | easyolap | easyolap.do |
.doc | 分析报告 | wordreport.do |
1. showreport.do
1.1 参数说明
参数名 | 含义 | 值举例 | 说明 |
resid | 资源id |
| 在报表属性中可找到资源的唯一ID |
calcnow | 显示报表时立即计算一次 | false|true | 根据URL中带上的报表参数,计算报表 |
calcwhenold | 结果表不是最新时才计算 | false|true | 类似calcnow。区别时当没有结果表或者当前结果表对应的分析表比现有的分析表旧时(当前结果表对应的分析表被改动)才自动计算 |
waittime | 等待时间 | 1000 | 当calcnow为true或calcwhenold为true时waittime参数有效,表示showreport.do等待报表计算完成的最长时间,如果在该时间内报表计算完成,那么直接显示计算结果,如果在该时间之内报表还没有计算完成,那么URL将返回给客户端一个等待计算页面。 waittime以毫秒为单位,缺省值是1000,最大不能超过10000秒. |
showparams | 简洁模式 | false|true | 为true表示以简洁模式显示 |
showtype | 简洁模式下参数面板的状态 | hide|collapse|其他 |
2.collapse,表示参数面板区默认收起,可以再展开。 3.不传递此参数或者其他值时则默认展开参数面板区。 |
showmenu | 显示菜单栏 | true|false | 决定是否显示内置的菜单栏(显示计算信息、再次计算、计算结果处理等的菜单) |
dontshowblankrpt | 不显示空表样 | false|true | 如果是没有计算的空表,那么此变量控制它是否需要显示,默认显示(true) |
dontshowrpt | 不显示表样 | false|true | 不显示表样,只显示参数,只有当计算以后才显示表样 |
isprint | 打印预览 | false|true | 是否需要打印预览功能,当为true时,弹出打印预览的设置框 |
saveid | 结果表ID | 32位资源ID串 | 为空时表示获取默认结果(报表参数和数据级次可以根据请求和登录信息给定) |
loadcalccache | 装入计算缓存 | false|true | 为true且立即计算,且saveid为空时,从上下文以及请求参数获取默认结果表 |
当为calcnow时,一些常见的控制计算的参数举例
escape | 当参数中有中文字符时,链接中必须有escape=true参数,并且需要用encodeURIComponent方法将中文转码 |
encode |
|
holdtime |
|
1.2 示例
以下示例所用的url,都是相对于服务器访问路径(如:http://127.0.0.1:8080/bi)的,且默认用户已经登录BI。
1. 显示某一张报表的最新结果表
showreport.do?resid=XXX$12$xxxxx
2. 使用calcnow参数使报表根据URL中的参数计算
showreport.do?resid=XXX$12$xxxx&calcnow=true&@bbq=201507&@xzqh=110000
3. 显示报表,并显示参数面板
showreport.do? resid =xxxxx$12$xxxxx&showparams=true
4. 显示报表,默认不显示菜单
showreport.do? resid =xxxxx$12$xxxxx&showmenu=true
其中,菜单指
2. index.do
直接调用BI41中的分析平台界面
3. login.do
在BI41中,我们还可以通过login.do的方式去调用BI中的各类报表资源,调用方式与showreport.do相似
如: http://127.0.0.1:8087/bi/esmain/login.do?id=admin&pw=admin&url=../showreport.do?resid=EBI$12$8I6BNNR4IKQ6UTDI1NF97E3Z6ZIWJK6A$1$5SMFL4U3SUXMJ1JS1WIC6X7VUISVUL4V.rpttpl
其中需要注意2个 地方 :
在上下文根中,需要添加esmain
URL后面调用的showreport.do,需要写成: ../showreport.do
请先登录