Cognos Analysics 11,是IBM在Cognos BI 10的版本基礎上,吸取業(yè)界流行的敏捷BI理念,強化了自助式分析的一款強大BI開(kāi)發(fā)平臺工具。其官方文檔內容豐富,但是較為冗長(cháng),新手應對項目過(guò)程中客戶(hù)的進(jìn)度要求稍顯捉襟見(jiàn)肘。作為官方文檔的一個(gè)補充,我們結合在川高系統大數據分析與應用平臺項目過(guò)程中的實(shí)踐,撰寫(xiě)了此文。便于有其他類(lèi)似需求的項目團隊及同事,作為快速參考。
本文檔主要針對初次使用,且對cognos整體和開(kāi)發(fā)流程不太了解的人員,能幫助他們快速上手制作報表。本文將以制作一張普通的固定報表的順序來(lái)編寫(xiě)文檔,制作報表的整體步驟分為兩步:一是數據建模,二是報表制作;
其中數據建??梢杂卸喾N方式,如:framework Manager,Cube designer,BI 中的數據模塊等,這里采用傳統的framework Manager設計。
在建模和開(kāi)發(fā)報表之前都需要向啟動(dòng)cognos的服務(wù),步驟如下:
(1)打開(kāi)IBM Cognos 配置器

(2)點(diǎn)擊工具欄中的啟動(dòng)按鈕,然后等待,這里等待時(shí)間較長(cháng),大概要話(huà)費5-10分鐘,等看到工具中的啟動(dòng)按鈕變成了灰色,則表示已經(jīng)啟動(dòng)成功。
(3)記錄下Cognos的訪(fǎng)問(wèn)地址,在報表開(kāi)發(fā)的時(shí)候會(huì )用到。即:在資源管理器中選擇環(huán)境,如下圖中,Gateway URI后面的地址就是Cognos的訪(fǎng)問(wèn)地址了:

這是一個(gè)cognos中傳統的數據建模工具,可以處理復雜的關(guān)系模型,他的整體流程主要是:
(1)創(chuàng )建“數據源”的鏈接,這里使用MySQL數據庫
(2)從數據源中選中要使用的數據表來(lái)建立“元數據”
(3)建立數據表之間的關(guān)系模型
(4)根據報表頁(yè)面創(chuàng )建業(yè)務(wù)視圖
(5)根據業(yè)務(wù)需要創(chuàng )建維度視圖(非必須)
(6)創(chuàng )建“數據包”并發(fā)布
由于cognos 11中默認沒(méi)有MySQL的jdbc驅動(dòng),所以這里講解一下jdbc驅動(dòng)的部署方法,下載mysql-connector-java-5.1.42-bin.jar文件,然后將文件復制到Cognos的安裝目錄下的drivers目錄下,如下圖:

首先在開(kāi)始菜單中找到并打開(kāi)framework Manager工具,如下圖:

(1)在“菜單”中點(diǎn)擊“新建”來(lái)創(chuàng )建一個(gè)項目,如下圖:

(2)選擇模型的語(yǔ)言,如下圖:

(3)選擇“數據源”向導,默認選擇“數據源”選項,如下圖:

(1)新建“數據源”,如下圖:

(2)為數據源命名后點(diǎn)擊下一步

(3)選擇JDBC連接類(lèi)型,下一步

(4)選擇MySQL數據庫類(lèi)型,配置jdbc url 內容,將
jdbc:mysql://<host>:<port>/<database-name>?noAccessToProcedureBodies=true
替換成具體的url,如jdbc:mysql://139.224.42.182:3306/scdp_ciimp?noAccessToProcedureBodies=true

(5)配置數據庫登陸憑證

(6)測試連接連接成功后關(guān)閉測試頁(yè)面,點(diǎn)擊下一步

(7)點(diǎn)擊完成即可。
關(guān)閉數據源向導后,選擇剛剛建立好的數據源,即可進(jìn)行下一步操作

(1)選擇需要使用的表、視圖、存儲過(guò)程,這里選用了如下幾張表:
“bis_company,bis_road,rpm_r_accident_probability,mem_r_full_percentage”

(2)點(diǎn)擊下一步,取消“使用組件和外鍵”的選項,否則會(huì )創(chuàng )建默認的關(guān)系,如果數據庫表未創(chuàng )建外鍵則會(huì )報錯,最后點(diǎn)擊“導入”

(3)導入完成后在模型設計界面就能看到導入的相關(guān)表了。

“名稱(chēng)空間”是用來(lái)將模型歸類(lèi)的,有點(diǎn)類(lèi)似于代碼中的命名空間,通常我們創(chuàng )建三個(gè)名稱(chēng)空間:“元數據”、“業(yè)務(wù)視圖”、“維度視圖”,這里的名稱(chēng)可以自定義,這里只是推薦的一種歸類(lèi)方式,如下圖:

將剛才導入的表全部拖入“元數據”中,如下圖:

整個(gè)模型分為四個(gè)部分:模型、數據源、參數映射、數據包,整體結構如下,圖中的紅色框部分對應了這四個(gè)部分:

這里科普一下,默認我們導入的“表、視圖、存儲過(guò)程”在模型中都以“查詢(xún)主題”的方式呈現,所以你可以理解“查詢(xún)主題”為一個(gè)數據集合。
“查詢(xún)主題”分為三類(lèi):模型、數據源、存儲過(guò)程,如下圖:

(1)這里如果要自定義sql語(yǔ)句的查詢(xún)主題,我們需要選擇“數據源”類(lèi)型的“查詢(xún)主題”,默認從數據庫中導入的就是“數據源”類(lèi)型的。
(2)雙擊需要修改sql的數據源查詢(xún)主題,結構如下:

(3)用戶(hù)可以選擇插入多個(gè)數據源,然后將多個(gè)數據源進(jìn)行sql的拼接,如上圖,我這里采用了兩個(gè)數據源“mysql1、mysql內網(wǎng)”,如下圖:

(4)編寫(xiě)好sql后,需要進(jìn)行驗證并測試,如下圖:

(5)用戶(hù)也可以做“計算”或者“過(guò)濾”的操作,其實(shí)和我們自己寫(xiě)sql語(yǔ)句是一樣的原理
創(chuàng )建表與表之間的關(guān)系,操作步驟如下:
(1)雙擊“元數據”名稱(chēng)空間,在中間顯示區域切換為“圖”顯示,如下圖:

(2)點(diǎn)擊右側的工具欄中創(chuàng )建“鏈接”圖標,然后在圖中鼠標左鍵點(diǎn)擊需要創(chuàng )建關(guān)系的表不放,拖放到需要創(chuàng )建關(guān)聯(lián)的表中,打開(kāi)關(guān)系配置框,如:rpm_r_accident_probability <--> bis_road

(3)創(chuàng )建好關(guān)系后,用戶(hù)點(diǎn)擊驗證我錯誤后,可以切換到“關(guān)系SQL”選項中查看拼接的SQL語(yǔ)句,如下圖:

(4)最后查看整體關(guān)系圖,如下:

在創(chuàng )建好表關(guān)系之后,我們可以針對自己的業(yè)務(wù),從“元數據”的表中選擇有用的字段,放入業(yè)務(wù)視圖的“查詢(xún)主題”中,這里主要的工作就是將數據空表的字段映射為中文,并且創(chuàng )建一些計算字段。
(1)在“業(yè)務(wù)視圖”右鍵,創(chuàng )建“查詢(xún)主題”,在彈出框架,輸入名稱(chēng)和類(lèi)型選擇“模型”,如下圖:

(2)將左側“元數據”中的查詢(xún)項目拖入到右側框中,如下圖:

(3)你也可以自己添加一個(gè)“項目”,點(diǎn)擊右下角的“添加”,打開(kāi)“計算定義”,用戶(hù)可以自定義字段的處理,如下圖,我們進(jìn)行了字段的計數處理:

(4)最后點(diǎn)擊“驗證”查看有沒(méi)有配置錯誤,則完成,如下圖:

(5)最后點(diǎn)擊整個(gè)“查詢(xún)主題”的驗證,如果無(wú)問(wèn)題,則完成。
“維度視圖”是由“常規維度”和“度量維度”組成;默認是將“業(yè)務(wù)視圖”中的信息組織在一個(gè)層級內(從詳細程度的最高級別到最低級別)
l 常規維度
時(shí)間(包含:年、季度、月、周、天),銷(xiāo)售人員(包含:國家/地區、城市、人員名稱(chēng))
l 度量維度
度量維度主要是表示度量的數字,如價(jià)格,年齡之類(lèi)
如下圖:


“維度視圖”不是必須創(chuàng )建的,只有當您希望在 IBM Cognos Analysis Studio 中使用關(guān)系數據源、在報表中啟用向上鉆取和向下鉆取或訪(fǎng)問(wèn)工作室中的成員函數時(shí),必須對關(guān)系數據源按維度建模。
穩定的關(guān)系模型是維度模型的基礎。
用戶(hù)可以在“業(yè)務(wù)視圖”右鍵添加“度量維度、常規維度”對象

創(chuàng )建“常規維度”時(shí),在“層級框”中前兩層默認不能綁定數據源,只做當前維度的名稱(chēng),從第三層開(kāi)始定義維度字段,如下圖中的“年”層級,用戶(hù)可以在左側模型中選擇需要的“年份”字段,如果該字段不為字符串,則可以使用cast函數進(jìn)行轉換

并且在“角色”字段選擇“_businessKey(業(yè)務(wù)鍵)、_memberCaption(標題)”


創(chuàng )建“度量維度”用戶(hù)可以將某類(lèi)“度量”歸為一類(lèi),如:庫存(包含:期初盤(pán)存、發(fā)運數量、增加、期末盤(pán)存等),如下圖:

在創(chuàng )建好模型后,我們就可以將整個(gè)模型打包為“數據包”,并發(fā)布到cognos中,進(jìn)行報表的開(kāi)發(fā)。步驟如下:
(1)在“數據源”選項上右鍵,創(chuàng )建“數據包”,如下圖:

(2)在彈出的數據框中,輸入名稱(chēng),點(diǎn)擊下一步,如下圖:

(3)然后配置“名稱(chēng)空間”的可選項,一般將“元數據”設置為隱藏,點(diǎn)擊下一步,如下圖:

(4)點(diǎn)擊下一步,選擇函數包,默認是全部選擇,直接點(diǎn)擊完成,然后提示是否發(fā)布數據包,點(diǎn)擊“是”,進(jìn)行數據包發(fā)布,如下圖:

(5)可以選擇數據包發(fā)布的位置,和數據包的版本,處理好后,一直點(diǎn)擊“下一步”,直到發(fā)布,在發(fā)布時(shí)會(huì )進(jìn)行數據包的驗證,如果有錯誤,就不能發(fā)布數據包。
當用戶(hù)不能修改cognos中的發(fā)布位置時(shí),是因為當前用戶(hù)沒(méi)有權限訪(fǎng)問(wèn)Cognos中的文件夾位置,所以請在“項目-登陸身份”界面登陸管理員賬號

聯(lián)系客服