通過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

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