通过URL访问Cognos报表页面

        最简单的方法,就是在JSP中使用<iframe>标签,把url嵌进去。不需要装任何服务。

        每一个报表都会有一个对应的URL。

        可以在报表的属性中查询对应的URL:

        Cognos10:

Cognos11:

介绍10:

        10中,【URL】即是可以直接访问报表的URL路径,【标识】是该报表的唯一标识,可以看到,报表的URL是如下格式:

http://dispatcher_server:9300/bi/v1/disp?b_action=cognosViewer&run.outputFormat=HTML&run.prompt=true&ui.object=storeID (%22insert_StoreID_here%22)&ui.action=run&cv.header=false&cv.toolbar=false

整理如下:

http://dispatcher_server:9300/bi/v1/disp?
b_action=cognosViewer
&run.outputFormat=HTML
&run.prompt=true
&ui.object=storeID (%22insert_StoreID_here%22)
&ui.action=run
&cv.header=false
&cv.toolbar=false

由上可以知道,通过URL传参的方式,可以配置报表相关属性,也可以传入查询参数。

简单介绍下:

b_action=cognosViewer     :要使用的cognos组件;

&ui.action=run                    :对对象操作:run--运行;new--新建;edit--编辑;

&ui.object=XXX                  :报表的具体位置

&ui.name=XXX                   :报表的名称

&run.outputFormat              :输出格式,默认HTML

&run.prompt=false              :是否运行提示页面

&cv.header=false                :是否显示标题栏

&cv.toolbar=false                 :是否显示工具栏

&p_XXX=XX                        :传参

 

 

好的,开始修改URL。

1、dispatcher_server换成自己的服务器名称或者host_address;

2、insert_StoreID_here换成自己的报表标识;此部分可以不做,因为原URL就有,只是转码了;

3、以&的方式添加用户相关参数;

     3.1 一般参数   &符号区分每一个参数,原始的参数名前面加上p_告诉cognos是参数的含义,例如你的参数名为date,那么需要输入&p_date,如果参数名为p_date,那么需要输入&p_p_date;

      如果参数值是英文或者数字可以直接写在后面,如果是中文请先进行URL-UTF8转码操作,然后赋值给参数,可以借助《Encode_ Decode Tools URL编码解码工具.》

3.2 树形参数  如果传入的参数是树形参数,则不可以直接通过&p_XXX方式传入。

所以我们需要把参数整理为member类型:

格式为:[数据源].[常规维度].[维度]->:[PC].[@MEMBER].[编码]

例如:[DataBase].[Organ].[Organ1].[Organ2]->:[PC].[@MEMBER].[1001]

[PC]不清楚在干嘛,写成[DataBase].[@MEMBER].[1001]、[@MEMBER].[1001]也不会有错

如果输入格式错误,他会提示:

可以看到,红框内是逗号,分割内容是[DataBase].[Organ].[Organ1].[Organ2]的层级关系,所以需要按要求正确输入格式内容;最后红框内乱码,因为输入了中文,需要转码才可以;

3.3 日期参数   如果设置不对,会提示:

所以格式为:&p_p_date=2019-06-30 00:00:00

4、把run.prompt=true改为run.prompt=false,这样就不会走提示页,直接提交到报表页;

5、还有不懂的,可以看下官方教程

http://www-01.ibm.com/support/docview.wss?uid=swg21983556&myns=swgimgmt&mynp=OCSSTSF6&mync=F&cm_sp=swgimgmt-_-OCSSTSF6-_-F

 

对应的Cognos页面也要有一些修改,请参考下一文章

 

2020-01-19补充

1、如果报表设置的是单点登录而不是匿名访问,则需要传送名称空间、用户名、密码三个值,否则过一段时间就需要重新登录才能通过URL访问;

路径后拼接:CAMNamespace=namespace&CAMUsername=admin&CAMPassword=admin

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章