Cognos 11.0快速開發指南 Ⅰ


1. 概述

Cognos Analysics 11,是IBM在Cognos BI 10的版本基礎上,吸取業界流行的敏捷BI理念,強化了自助式分析的一款強大BI開發平台工具。其官方文檔內容豐富,但是較為冗長,新手應對項目過程中客戶的進度要求稍顯捉襟見肘。作為官方文檔的一個補充,我們結合在川高系統大數據分析與應用平台項目過程中的實踐,撰寫了此文。便於有其他類似需求的項目團隊及同事,作為快速參考。

本文檔主要針對初次使用,且對cognos整體和開發流程不太了解的人員,能幫助他們快速上手制作報表。本文將以制作一張普通的固定報表的順序來編寫文檔,制作報表的整體步驟分為兩步:一是數據建模,二是報表制作;

其中數據建模可以有多種方式,如:framework Manager,Cube designer,BI 中的數據模塊等,這里采用傳統的framework Manager設計。

2.    啟動cognos服務

在建模和開發報表之前都需要向啟動cognos的服務,步驟如下:

(1)打開IBM Cognos 配置器

 

(2)點擊工具欄中的啟動按鈕,然后等待,這里等待時間較長,大概要話費5-10分鍾,等看到工具中的啟動按鈕變成了灰色,則表示已經啟動成功。

(3)記錄下Cognos的訪問地址,在報表開發的時候會用到。即:在資源管理器中選擇環境,如下圖中,Gateway URI后面的地址就是Cognos的訪問地址了:

3.    framework manager

這是一個cognos中傳統的數據建模工具,可以處理復雜的關系模型,他的整體流程主要是:

(1)創建“數據源”的鏈接,這里使用MySQL數據庫

(2)從數據源中選中要使用的數據表來建立“元數據”

(3)建立數據表之間的關系模型

(4)根據報表頁面創建業務視圖

(5)根據業務需要創建維度視圖(非必須)

(6)創建“數據包”並發布

3.1.  更新jdbc的jar包

由於cognos 11中默認沒有MySQL的jdbc驅動,所以這里講解一下jdbc驅動的部署方法,下載mysql-connector-java-5.1.42-bin.jar文件,然后將文件復制到Cognos的安裝目錄下的drivers目錄下,如下圖:

3.2.  操作步驟

3.2.1.  打開framework Manager工具

首先在開始菜單中找到並打開framework Manager工具,如下圖:

3.2.2.  新建項目

(1)在“菜單”中點擊“新建”來創建一個項目,如下圖:

 

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

 

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

   

3.2.3.  新建數據源

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

 

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

 

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

 

(4)選擇MySQL數據庫類型,配置jdbc url 內容,將

jdbc:mysql://<host>:<port>/<database-name>?noAccessToProcedureBodies=true

替換成具體的url,如jdbc:mysql://139.224.42.182:3306/scdp_ciimp?noAccessToProcedureBodies=true

 

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

 

(6)測試連接連接成功后關閉測試頁面,點擊下一步

 

(7)點擊完成即可。

關閉數據源向導后,選擇剛剛建立好的數據源,即可進行下一步操作

 

3.2.4.  選擇數據表

(1)選擇需要使用的表、視圖、存儲過程,這里選用了如下幾張表:

“bis_company,bis_road,rpm_r_accident_probability,mem_r_full_percentage”

 

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

 

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

 

3.2.5.  創建名稱空間

“名稱空間”是用來將模型歸類的,有點類似於代碼中的命名空間,通常我們創建三個名稱空間:“元數據”、“業務視圖”、“維度視圖”,這里的名稱可以自定義,這里只是推薦的一種歸類方式,如下圖:

 

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

 

3.2.6.  模型結構概覽

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

 

3.2.7.  自定義sql查詢主題(可選)

這里科普一下,默認我們導入的“表、視圖、存儲過程”在模型中都以“查詢主題”的方式呈現,所以你可以理解“查詢主題”為一個數據集合。

“查詢主題”分為三類:模型、數據源、存儲過程,如下圖:

 

(1)這里如果要自定義sql語句的查詢主題,我們需要選擇“數據源”類型的“查詢主題”,默認從數據庫中導入的就是“數據源”類型的。

(2)雙擊需要修改sql的數據源查詢主題,結構如下:

 

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

 

(4)編寫好sql后,需要進行驗證並測試,如下圖:

 

(5)用戶也可以做“計算”或者“過濾”的操作,其實和我們自己寫sql語句是一樣的原理

3.2.8.  創建關系

創建表與表之間的關系,操作步驟如下:

(1)雙擊“元數據”名稱空間,在中間顯示區域切換為“圖”顯示,如下圖:

 

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

 

(3)創建好關系后,用戶點擊驗證我錯誤后,可以切換到“關系SQL”選項中查看拼接的SQL語句,如下圖:

 

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

 

3.2.9.  創建業務視圖

在創建好表關系之后,我們可以針對自己的業務,從“元數據”的表中選擇有用的字段,放入業務視圖的“查詢主題”中,這里主要的工作就是將數據空表的字段映射為中文,並且創建一些計算字段。

(1)在“業務視圖”右鍵,創建“查詢主題”,在彈出框架,輸入名稱和類型選擇“模型”,如下圖:

 

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

 

(3)你也可以自己添加一個“項目”,點擊右下角的“添加”,打開“計算定義”,用戶可以自定義字段的處理,如下圖,我們進行了字段的計數處理:

 

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

 

(5)最后點擊整個“查詢主題”的驗證,如果無問題,則完成。

3.2.10.     創建維度視圖(可選)

“維度視圖”是由“常規維度”和“度量維度”組成;默認是將“業務視圖”中的信息組織在一個層級內(從詳細程度的最高級別到最低級別)

l  常規維度

時間(包含:年、季度、月、周、天),銷售人員(包含:國家/地區、城市、人員名稱)

l  度量維度

度量維度主要是表示度量的數字,如價格,年齡之類

如下圖:

 

“維度視圖”不是必須創建的,只有當您希望在 IBM Cognos Analysis Studio 中使用關系數據源、在報表中啟用向上鑽取和向下鑽取或訪問工作室中的成員函數時,必須對關系數據源按維度建模。

穩定的關系模型是維度模型的基礎。

3.2.10.1.1.    創建方式

用戶可以在“業務視圖”右鍵添加“度量維度、常規維度”對象

 

3.2.10.1.2.    常規維度

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

 

並且在“角色”字段選擇“_businessKey(業務鍵)、_memberCaption(標題)”

3.2.10.1.3.    度量維度

創建“度量維度”用戶可以將某類“度量”歸為一類,如:庫存(包含:期初盤存、發運數量、增加、期末盤存等),如下圖:

 

3.2.11.     創建數據源

在創建好模型后,我們就可以將整個模型打包為“數據包”,並發布到cognos中,進行報表的開發。步驟如下:

(1)在“數據源”選項上右鍵,創建“數據包”,如下圖:

 

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

 

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

 

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

 

(5)可以選擇數據包發布的位置,和數據包的版本,處理好后,一直點擊“下一步”,直到發布,在發布時會進行數據包的驗證,如果有錯誤,就不能發布數據包。

3.2.11.1.   修改數據包位置報錯解決方案

當用戶不能修改cognos中的發布位置時,是因為當前用戶沒有權限訪問Cognos中的文件夾位置,所以請在“項目-登陸身份”界面登陸管理員賬號

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM