IBM Cognos 10.2 最新体验之旅
IBM Cognos Data Manager 數(shù)據(jù)集市的構(gòu)建利器
本文詳細(xì)的介紹了 Cognos 最新版本 10.2 的數(shù)據(jù)集市構(gòu)建器 Data Manager 的使用,對(duì)于希望系統(tǒng)了解 Cognos Data Manager,以及 IBM 數(shù)據(jù)集市構(gòu)建方法,并且掌握 Cognos 最新版本安全性的讀者有非常實(shí)用的指導(dǎo)意義。
廖顯,目前在 IBM(中國(guó))有限公司軟件部負(fù)責(zé)西區(qū)企業(yè)業(yè)務(wù)分析與性能管理技術(shù)咨詢(xún),曾就職于惠普全球應(yīng)用開(kāi)發(fā)與支持中心,思科全球市場(chǎng)信息智能中心,澳新銀行全球運(yùn)營(yíng)中心。擁有多年商業(yè)智能與數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)、分析項(xiàng)目經(jīng)驗(yàn),現(xiàn)專(zhuān)注于企業(yè)級(jí)商業(yè)智能與數(shù)據(jù)倉(cāng)庫(kù)的研究與咨詢(xún),IBM 業(yè)務(wù)分析與優(yōu)化解決方案專(zhuān)家。
在 IBM Bluemix 云平臺(tái)上開(kāi)發(fā)并部署您的下一個(gè)應(yīng)用。現(xiàn)在就開(kāi)始免費(fèi)試用
2014 年 11 月 20 日
- 目錄內(nèi)容
- 關(guān)于安裝
- 創(chuàng)建數(shù)據(jù)源名稱(chēng)
- 創(chuàng)建數(shù)據(jù)管理目錄(Data Manager Catalog)
- 建立數(shù)據(jù)連接
- 創(chuàng)建維度框架
- 創(chuàng)建一個(gè)數(shù)據(jù)集市
- 創(chuàng)建派生
- 創(chuàng)建維度構(gòu)建以及工作流
- 參考資料
- 評(píng)論
作為 Cognos 自身的 ETL 工具,IBM Cognos Data Manager 是成熟的數(shù)據(jù)抽取、變形、加載(Extract,Transform,Load)工具,其主要功能是將各種異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)抽取并處理,包括過(guò)濾、變形、星形模式轉(zhuǎn)換、雪花形模式轉(zhuǎn)換、數(shù)據(jù)倉(cāng)庫(kù)結(jié)構(gòu)變形等等處理,然后將處理后的結(jié)果導(dǎo)出到不同的數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市或數(shù)據(jù)文件中。
IBM Cognos Data Manager 的主要目的是幫助用戶(hù)創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)以及為報(bào)表、分析,以及績(jī)效管理使用的數(shù)據(jù)集市,Data Manager 主要任務(wù)為:
- 從種類(lèi)繁多的數(shù)據(jù)源當(dāng)中抽取操作性數(shù)據(jù)
- 合并以及轉(zhuǎn)換數(shù)據(jù),用于在企業(yè)級(jí)范圍的報(bào)表與分析使用
- 為匹配數(shù)據(jù)集市設(shè)計(jì)交付轉(zhuǎn)換以后的數(shù)據(jù)
作為 IBM Cognos 企業(yè)平臺(tái)的重要組件,IBM Cognos Data Manager V10.2 代表了 IBM Cognos 10 家族下一代創(chuàng)新的有機(jī)組成部分。IBM Cognos Data Manager V10.2 可以用來(lái)將數(shù)據(jù)傳輸?shù)絾蝹€(gè)數(shù)據(jù)庫(kù)業(yè)務(wù)表和更加復(fù)雜的轉(zhuǎn)換需要的事實(shí)表與維度表當(dāng)中。并且 IBM Cognos Data Manager V10.2 依靠交互元數(shù)據(jù)給 IBM Cognos Framework Manager 從而與其它的 IBM Cognos 商業(yè)智能產(chǎn)品相整合,這將允許目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)存儲(chǔ)直接利用這些數(shù)據(jù)進(jìn)行建模,從而非常方便的進(jìn)行 IBM Cognos 商業(yè)智能應(yīng)用以及績(jī)效管理項(xiàng)目。
另外,除了本身具備的 ETL 能力以外,IBM Cognos Data Manager V10.2 加入了 64 位數(shù)據(jù)管理引擎,允許用戶(hù)可以加入額外的可用內(nèi)存在 64 位的計(jì)算環(huán)境當(dāng)中。這極大的增加了可加載的數(shù)據(jù)量,并減少了內(nèi)存管理技術(shù)對(duì)性能的要求。
關(guān)于安裝
IBM Cognos Data Manager 的安裝異常簡(jiǎn)單,只需要幾步點(diǎn)擊即可,不過(guò)有幾項(xiàng)也需要特別注意,語(yǔ)言,路徑以及安裝組件。運(yùn)行 IBM Cognos Data Manager 在 Window 平臺(tái)上,選擇需要的語(yǔ)言。
確認(rèn)需要安裝的路徑,如果之前已經(jīng)安裝了 Cognos Server,那么請(qǐng)?jiān)谕瑯拥?Cognos 路徑下覆蓋安裝,保證服務(wù)一致性。
選擇需要安裝的 Data Manager 組件,包含:
- Data Manager Engine
- Data Manager Network Services Server
- Data Manager Designer
等待安裝完成。
回到頁(yè)首
創(chuàng)建數(shù)據(jù)源名稱(chēng)
首先需要設(shè)置一個(gè)數(shù)據(jù)源名稱(chēng)(Data Source Name- DSN),可以使用現(xiàn)有的數(shù)據(jù)連接方法,比如 ODBC 的方法來(lái)設(shè)置,打開(kāi) Cognos Data Manager 程序,在“Tools”欄選擇“ODBC Administrator”。
然后選擇創(chuàng)建系統(tǒng)型 DSN(System DSN),依次添加 System Data Sources,選擇“Microsoft Excel Driver (*.xls)”驅(qū)動(dòng)來(lái)連接 Access 的樣例數(shù)據(jù)庫(kù),在“Select…”項(xiàng)里依次選擇 c10_location\webcontent\samples\DataManager\路徑下 MSAccess 與 db 文件夾里的所有數(shù)據(jù)文件,建立 ODBC 連接,然后關(guān)閉 ODBC 數(shù)據(jù)源管理的界面。
圖 1. 選擇數(shù)據(jù)庫(kù)文件路徑
| DS_New | DS_New.mdb | c10_location\webcontent\samples\DataManager\MSAccess |
| DS_Lessons | DS_Lessons.mdb | c10_location\webcontent\samples\DataManager\MSAccess |
| DS_Marts | DS_marts.mdb | c10_location\webcontent\samples\DataManager\MSAccess |
| DS_Tutorial | DS_Tutorial.mdb | c10_location\webcontent\samples\DataManager\MSAccess |
| DS_Advanced | DS_Advanced.mdb | c10_location\webcontent\samples\DataManager\MSAccess |
| DS_Advanced_out | DS_Advanced_out.mdb | c10_location\webcontent\samples\DataManager\MSAccess |
| GOMarket | MarketResearch.mdb | c10_location\webcontent\samples\DataManager\db |
| GOSales | GOSales.mdb | c10_location\webcontent\samples\DataManager\db |
| GOVendors | GOVendors.mdb | c10_location\webcontent\samples\DataManager\db |
| GOSalesDW | GOSalesDW.mdb | c10_location\webcontent\samples\DataManager\db |
回到頁(yè)首
創(chuàng)建數(shù)據(jù)管理目錄(Data Manager Catalog)
IBM Cognos Data Manager Catalog 數(shù)據(jù)管理目錄提供了一個(gè)定義數(shù)據(jù)抽取、轉(zhuǎn)換、導(dǎo)入的信息存儲(chǔ)庫(kù),該存儲(chǔ)庫(kù)可以用作存儲(chǔ)專(zhuān)用數(shù)據(jù)庫(kù)的轉(zhuǎn)換邏輯,也可以用作其他用途,比如目標(biāo)數(shù)據(jù)集市設(shè)計(jì)等。
這個(gè)目錄由一系列已經(jīng)獲取數(shù)據(jù)庫(kù)權(quán)限的數(shù)據(jù)表組成,并且可以為每一個(gè)數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)目錄,這個(gè)目錄主要可以說(shuō)明:
- Data Manager 如何從數(shù)據(jù)源抽取、轉(zhuǎn)換數(shù)據(jù),以及如何導(dǎo)入數(shù)據(jù)到目標(biāo)數(shù)據(jù)集市當(dāng)中。
- 展現(xiàn)從數(shù)據(jù)源到目標(biāo)數(shù)據(jù)集市的數(shù)據(jù)流
- Data Manager 如何為包含元數(shù)據(jù)的數(shù)據(jù)集市創(chuàng)建符合目標(biāo)的數(shù)據(jù)模型
圖 2. Data Manager 目錄管理架構(gòu)圖
可以先瀏覽已經(jīng)存在的數(shù)據(jù)管理目錄,選擇“打開(kāi)目錄”,然后選擇連接數(shù)據(jù)源的 DSN 名稱(chēng),點(diǎn)擊確認(rèn)。
圖 3. Data Manager 打開(kāi)相應(yīng)目錄的數(shù)據(jù)源
然后在打開(kāi)的窗口里可以看到左邊的樹(shù)狀設(shè)計(jì)窗口,里面包含了目錄(Catalog),構(gòu)建(Builds),工作流(JobStreams),元數(shù)據(jù)(Metadata),字典(Library)等元素,這個(gè)樹(shù)狀窗口是 IBM Cognos Data Manager Designer 的設(shè)計(jì)窗口,在層級(jí)上,它包含構(gòu)建與工作流(Builds and JobStreams)文件夾,元數(shù)據(jù)(Metadata)文件夾,字典(Library)文件夾。
圖 4. Data Manager 里目錄的樹(shù)狀瀏覽結(jié)構(gòu)
- 構(gòu)建與工作流(Builds and JobStreams)文件夾:這個(gè)文件夾包含在當(dāng)前數(shù)據(jù)管理目錄下的事實(shí)構(gòu)建,維度構(gòu)建以及工作流設(shè)計(jì)。
- 元數(shù)據(jù)(Metadata)文件夾:這個(gè)文件夾包含你正在構(gòu)建符合星型模型的維度與集合。
- 字典(Library)文件夾:這個(gè)文件夾包含所有的連接,參考維度(包含層次設(shè)計(jì),自動(dòng)登記的層次設(shè)計(jì),表查找以及樣例)和在當(dāng)前目錄下用戶(hù)定義的功能。
在窗口下方有 6 個(gè)不同目錄元素視圖的選項(xiàng)卡,分別是:
| 目錄 Catalog | 顯示整體的目錄結(jié)構(gòu) Catalog | |
| 事實(shí)構(gòu)建 Fact Builds | 僅顯示包含在目錄里的事實(shí)表數(shù)據(jù) Fact Builds | |
| 維度構(gòu)建 Dimension Builds | 僅顯示包含在目錄里的維度表數(shù)據(jù) Dimension Builds | |
| 工作流 JobStreams | 僅顯示包含在目錄里的工作流 JobStreams | |
| 字典 Library | 僅顯示包含在目錄里的維度 Dimensions,連接 Connections,以及功能 Functions | |
| 元數(shù)據(jù) Metadata | 僅顯示包含在目錄里的元數(shù)據(jù)維度 Dimensions 和集合 Collections |
我們可以根據(jù)項(xiàng)目 ETL 設(shè)計(jì)所需,而自由的轉(zhuǎn)換元素視圖來(lái)進(jìn)行設(shè)計(jì)和構(gòu)建,
點(diǎn)擊任意一個(gè)構(gòu)建或工作流,可以在右邊的窗口看到詳細(xì)的設(shè)計(jì),在例子中,我們可以點(diǎn)擊“DS_Tutorial”下的“BIMart”事實(shí)構(gòu)建,這個(gè)事實(shí)構(gòu)建的整體將呈現(xiàn)出來(lái),你可以在其中任何組件圖標(biāo)上雙擊進(jìn)行瀏覽和屬性設(shè)置。
圖 5. 事實(shí)構(gòu)建的 BIMart 映射圖
點(diǎn)擊這個(gè)窗口上面的映射(Mapping)選項(xiàng)卡就可以看到源表列(DataSource),數(shù)據(jù)流項(xiàng)(DataStream),以及事實(shí)表構(gòu)建的轉(zhuǎn)換模型(Transformation Model)的元素之間的映射關(guān)系。
圖 6. 源、數(shù)據(jù)流與轉(zhuǎn)換模型之間的映射關(guān)系
點(diǎn)擊轉(zhuǎn)換模型(Transformation Model)選項(xiàng)卡就可以看到事實(shí)表與帶有層次設(shè)計(jì)的維度表之間的映射,在維度的層次設(shè)計(jì)中,在左邊打勾符號(hào)標(biāo)記意味著是輸入需要,在右邊打勾符號(hào)標(biāo)記意味著是交付輸出。
圖 7. 轉(zhuǎn)換模型
點(diǎn)擊事實(shí)交付(Fact Delivery)選項(xiàng)卡,你可以看到轉(zhuǎn)換模型元素和交付的事實(shí)數(shù)據(jù)表的列之間的映射。
圖 8. 轉(zhuǎn)換模型與數(shù)據(jù)集市對(duì)應(yīng)的映射關(guān)系
當(dāng)然,我們也可以創(chuàng)建一個(gè)新的數(shù)據(jù)管理目錄(Catalog),點(diǎn)擊新建圖標(biāo),在彈出的新的目錄創(chuàng)建窗口里命名“MyCatalog”然后點(diǎn)擊“下一步”,在新的數(shù)據(jù)連接窗口的左邊選在“ODBC”,然后在數(shù)據(jù)源名稱(chēng)項(xiàng)下選擇“DS_New”的 ODBC 連接作為新的數(shù)據(jù)源連接,最后點(diǎn)擊“完成”,一個(gè)新的,空白的數(shù)據(jù)管理目錄就建好了。
回到頁(yè)首
建立數(shù)據(jù)連接
作為一個(gè)標(biāo)準(zhǔn)的 ETL 工具,建立數(shù)據(jù)源連接非常重要,你需要建立的數(shù)據(jù)庫(kù)連接不僅僅只有數(shù)據(jù)源,也包含了目標(biāo)數(shù)據(jù)的連接。這個(gè)連接需要提供連接到數(shù)據(jù)庫(kù)的所有信息,它標(biāo)識(shí)出特定的數(shù)據(jù)庫(kù)類(lèi)型以及制定的連接方法,還需要提供數(shù)據(jù)庫(kù)管理系統(tǒng)需要的收取比如用戶(hù)名和密碼信息。
IBM Cognos Data Manager 支持多個(gè)廠商的數(shù)據(jù)庫(kù)管理系統(tǒng),包括:IBM,Oracle,Microsoft,Informix,Sybase 和 Teradata,并且可以使用本地驅(qū)動(dòng)以及 ODBC 的方法連接其他數(shù)據(jù)庫(kù)。Data Manager 還支持使用“IBM Cognos Data Manager Connector for SAP R/3”產(chǎn)品加載項(xiàng)來(lái)把 SAP R/3 系統(tǒng)作為數(shù)據(jù)源。
此外,Data Manager 還可以使用 SQLTXT 驅(qū)動(dòng)來(lái)連接文本文件(ASCII 或則 EBCDIC)數(shù)據(jù)源,這樣可以支持任何可以到處文本數(shù)據(jù)的應(yīng)用系統(tǒng)。
下面,我們來(lái)簡(jiǎn)單連接一個(gè) ODBC 的數(shù)據(jù)庫(kù),打開(kāi)剛創(chuàng)建的“MyCatalog”數(shù)據(jù)管理目錄,在字典(Library)圖標(biāo)上右鍵,并且選擇插入連接(Insert Connection),在彈出的窗口的別名里填入“GO_Sales”,然后點(diǎn)擊窗口上的“連接詳細(xì)(Connection Details)”選項(xiàng)卡,并且在左邊的連接類(lèi)型選擇 ODBC,在右邊的數(shù)據(jù)源名稱(chēng)里選擇“GOSales”,然后點(diǎn)擊下面的“測(cè)試連接(Test Connection)”,然后再點(diǎn)擊 OK 確認(rèn),一個(gè) ODBC 的數(shù)據(jù)庫(kù)連接就建好了,按照這個(gè)步驟,再添加 Go_Vendors(以 GOVendors 作為數(shù)據(jù)源)和 DS_Marts(以 DS_Marts 作為數(shù)據(jù)源)兩個(gè)數(shù)據(jù)連接。
圖 9. 選擇數(shù)據(jù)連接
當(dāng)然,我們還可以嘗試建立如下類(lèi)型的其他數(shù)據(jù)連接:
- Cognos Data Srouce
- DB2
- Essbase
- Informix
- DTS Package
- Oracle
- ODBC
- SQL Server
- Published FM Package
- SQLTXT
- Sybase
- TM1
這里,我們可以嘗試建立一個(gè) SQLTXT 類(lèi)型的連接便于后面使用,右擊 Library 里的 Connections 文件夾,然后選擇插入一個(gè)連接,再?gòu)棾龅膶?duì)話(huà)框里,Alias 里填入“DS_Sources”,在 Connection Details 里選擇 SQLTXT,然后在文件定義的部分,找到相應(yīng) def 文件:C:\Program Files\IBM\cognos\c10_64\webcontent\samples\DataManager\sqltxt\DS_Sources.def,測(cè)試一下,成功,即完成一個(gè) SQLTXT 類(lèi)型的數(shù)據(jù)連接。
回到頁(yè)首
創(chuàng)建維度框架
維度框架定義了核心業(yè)務(wù)元素的層次結(jié)構(gòu),它展示了組織重新思考業(yè)務(wù)數(shù)據(jù)構(gòu)建的一種方式,每一個(gè)分組后的維度包含的信息都是與特定的業(yè)務(wù)場(chǎng)景相關(guān)聯(lián)。一個(gè)維度提供了分析的上下文,比如產(chǎn)品、客戶(hù)、銷(xiāo)售員工等,而 IBM Cognos Manager 支持無(wú)限制的維度引用,因此可以是做到一個(gè)場(chǎng)景無(wú)限連接維度表進(jìn)行分析。
引用維度包含引用結(jié)構(gòu)(層次結(jié)構(gòu)、自動(dòng)等級(jí)的層次結(jié)構(gòu),以及表查找),和一個(gè)或多個(gè)模板。
- 層次結(jié)構(gòu) Hierarchies
層次結(jié)構(gòu)提出了業(yè)務(wù)維度的特定視圖。它包含在固定數(shù)量級(jí)的相關(guān)引用數(shù)據(jù)的的定義。每個(gè)級(jí)別包含一組在該數(shù)量級(jí)水平的成員數(shù)據(jù)。在等級(jí)上成員數(shù)據(jù)又分為父類(lèi)水平,以及子類(lèi)水平,有上下區(qū)分。
- 自動(dòng)等級(jí)層次結(jié)構(gòu) Auto-level Hierarchies
自動(dòng)等級(jí)的層次結(jié)構(gòu)沒(méi)有固定數(shù)量的等級(jí)概念,它是純粹的父-子關(guān)系結(jié)構(gòu)。例如:雇員報(bào)告給經(jīng)理,經(jīng)理又報(bào)告給其他的經(jīng)理關(guān)系。
- 查找 Lookups
查找是一個(gè)單一的層次結(jié)構(gòu),主要用于數(shù)據(jù)驗(yàn)證。
- 模板 Templates
模板為維度表定義的屬性,以及行為,一個(gè)模板需要恰當(dāng)?shù)木S護(hù)以及使用相應(yīng)的引用維度表。
業(yè)務(wù)維度是分析報(bào)表的核心業(yè)務(wù)組成部分,比如在樣例數(shù)據(jù)“The Great Outdoors Company”中,這個(gè)公司依靠出售產(chǎn)品獲取利潤(rùn),一個(gè)產(chǎn)品維度可以讓管理者依靠產(chǎn)品、產(chǎn)品類(lèi)型以及產(chǎn)品生產(chǎn)線(xiàn)等層次來(lái)分析公司績(jī)效。關(guān)于產(chǎn)品的銷(xiāo)售可能是一個(gè)季節(jié)性的趨勢(shì),了解這個(gè)趨勢(shì)可以幫助管理層更好的計(jì)劃每個(gè)產(chǎn)品的生產(chǎn),從而獲得市場(chǎng)上的成功,如果需要識(shí)別這個(gè)趨勢(shì)那么數(shù)據(jù)集市里必須包含時(shí)間維度。另外,銷(xiāo)售員工維度可以讓管理者很好的分析不同的銷(xiāo)售區(qū)域,國(guó)家,銷(xiāo)售分公司,以及銷(xiāo)售員個(gè)人表現(xiàn)在產(chǎn)品銷(xiāo)售以及利潤(rùn)產(chǎn)生中的情況。最后,Great Outdoors 的零售商就是 Great Outdoors 公司的第一級(jí)客戶(hù),而零售商維度可以很好的回答管理層“我們的不同的零售商業(yè)績(jī)表現(xiàn)如何?”。
綜上所述,我們可以由此使用 IBM Cognos Data Manager 設(shè)計(jì)構(gòu)建如下的維度:
- 產(chǎn)品維度
- 時(shí)間維度
- 銷(xiāo)售員工維度
- 零售商維度
接下來(lái),我們來(lái)了解下如何在 IBM Cognos DataManager 里設(shè)置一個(gè)維度,打開(kāi)之前我們建立的 MyCatalog 數(shù)據(jù)管理目錄,在字典(Library)里選擇維度(Dimensions),右鍵點(diǎn)擊“插入?yún)⒄站S度(Insert Reference Dimension)”,在彈出的維度屬性框的名稱(chēng)一欄輸入“Product”,點(diǎn)擊 Ok,按照同樣的步驟創(chuàng)建 Time,SalesStaff,Retailer 三個(gè)新維度。
圖 10. 插入引用維度
然后,我們可以來(lái)構(gòu)建維度的層次設(shè)計(jì),以零售商維度為例,從 GO_Vendors 數(shù)據(jù)庫(kù)中相關(guān)的表來(lái)創(chuàng)建零售商層次,層次在表之間遵循一對(duì)多的關(guān)系,一個(gè)零售商類(lèi)型(RetailerType)可以有對(duì)應(yīng)多個(gè)零售商(Retailer),但是一個(gè)零售商只能對(duì)應(yīng)一個(gè)零售類(lèi)型,相似的,每個(gè)零售商可以有多個(gè)站點(diǎn)(Site),但是一個(gè)站點(diǎn)只能對(duì)應(yīng)一個(gè)零售商,這些表關(guān)系呈現(xiàn)出雪花的層次設(shè)計(jì)樣式。
圖 11. 構(gòu)建維度的層次說(shuō)明
從工具欄里選擇層次向?qū)?,可以看到有三種創(chuàng)建新層次的選項(xiàng):
- 從一個(gè)表的列里創(chuàng)建一個(gè)層次結(jié)構(gòu)(星型模型)
- 從一個(gè)表的行里創(chuàng)建一個(gè)層次結(jié)構(gòu)
- 從多個(gè)表里創(chuàng)建一個(gè)層次結(jié)構(gòu)(雪花模型)
這里我們選擇“從多個(gè)表里創(chuàng)建一個(gè)層次結(jié)構(gòu)(雪花模型)”,然后點(diǎn)擊下一步,在“輸入層次名稱(chēng)”里填入 Retailer,然后在下面窗口選擇 Retailer 作為層次的維度:
圖 12. 選擇層次信息
再點(diǎn)擊下一步接受默認(rèn)創(chuàng)建的所有級(jí)別名稱(chēng),然后在下一頁(yè),點(diǎn)擊“ALLRetailer”并且在右邊選擇添加新的級(jí)別,在新窗口里填寫(xiě)名稱(chēng),選擇數(shù)據(jù)源數(shù)據(jù)庫(kù),以及定義可用數(shù)據(jù)列類(lèi)型,如下:
圖 13. 填入層次信息詳細(xì)
然后再新建一個(gè) Retailer。
圖 14. 添加層次 Retailer
最后建一個(gè) Site 作為最第一層的級(jí)別。
圖 15. 添加層次 Site
選擇完成,點(diǎn)擊保存,然后就可以看到你創(chuàng)建的 Retailer 的層次圖了。
圖 16. 實(shí)現(xiàn)層次映射關(guān)系
當(dāng)你建好一個(gè)維度的層次以后,你就可以嘗試著去瀏覽或則測(cè)試你創(chuàng)建的層次的每個(gè)層級(jí)。在 Dimensions 文件夾下找到 Retailer 層次,然后右擊 Retailer,在彈出的對(duì)話(huà)框里,選擇 Explore,然后再在彈出的 Reference Explorer 對(duì)話(huà)框里點(diǎn)擊 OK,有時(shí)這里會(huì)彈出一個(gè)關(guān)于沒(méi)有主鍵 ID 的 Warning,你可以接受它,然后,你就可以看到一個(gè) Retailer 下的所有層次元素,你可以一一打開(kāi)來(lái)進(jìn)行檢查。
圖 17. 檢查層次元素
當(dāng)然,在作為一個(gè)數(shù)據(jù)集成的 ETL 工具,自然也具備創(chuàng)建一個(gè)日期層次的能力,你可以創(chuàng)建一個(gè)日期在樣例數(shù)據(jù)庫(kù) DS_Sources 的財(cái)務(wù)日期表中,在這個(gè)表中每個(gè)數(shù)據(jù)行標(biāo)識(shí)了相關(guān)的天、周、月、季度和年,顯示了一個(gè)星型的架構(gòu)。創(chuàng)建的過(guò)程也是先在 Tools 下找到 Hierarchy Wizard,然后會(huì)有三個(gè)選項(xiàng):創(chuàng)建一個(gè)星型結(jié)構(gòu)層次,創(chuàng)建一個(gè)單表行的層次,以及創(chuàng)建一個(gè)雪花結(jié)構(gòu)層次。
選擇結(jié)構(gòu):選擇“Create the hierarchy form the columns of one table (Star Schema)”,下一步。
定義層次:在“Enter the name of the hierarchy”對(duì)話(huà)框里輸入“Dates”,在“Select the reference dimension to use for this hierarchy”對(duì)話(huà)框里選擇“Time”,下一步。
確定層次源:在“Locate the source table for this hierarchy”下,選擇之前創(chuàng)建好的 DS_Sourcess 數(shù)據(jù)源下的 Fiscal 表,下一步。
劃分層級(jí):在默認(rèn)構(gòu)建的 ALLDates 層級(jí)名下,依次添加 Year,Quarter,Month,Week,Day,選擇相應(yīng)的 Id 作為“Source column for ID”,選擇相應(yīng)的 Caption 作為“Source column for caption”,完成。
最后保存這個(gè)目錄,你就會(huì)看到這個(gè)剛設(shè)計(jì)好的日期層次圖:
圖 18. 日期層次
回到頁(yè)首
創(chuàng)建一個(gè)數(shù)據(jù)集市
構(gòu)建一個(gè)數(shù)據(jù)集市的核心就是事實(shí)表的構(gòu)建,我們可以很容易的基于 IBM Cognos BI Mart(Star)類(lèi)型構(gòu)建一個(gè)事實(shí)表,并且交付數(shù)據(jù)到數(shù)據(jù)集市當(dāng)中,并且查看數(shù)據(jù)集市當(dāng)中的數(shù)據(jù),以及使用執(zhí)行日志。而 IBM Cognos Data Manger 事實(shí)構(gòu)建器明確的指定如何提取、轉(zhuǎn)換以及傳遞數(shù)據(jù),數(shù)據(jù)可以來(lái)自于多個(gè)數(shù)據(jù)源,合并并且清洗,在事實(shí)表中聚合,最后聯(lián)合維度數(shù)據(jù)形成一個(gè)或多個(gè)數(shù)據(jù)集市。
那么與維度表關(guān)注層次不同,我們需要首先明確在 IBM Cognos Data Manager
的事實(shí)構(gòu)建當(dāng)中的轉(zhuǎn)換模型(Transformation Model),包括:
- 屬性(Attribute)
屬性元素并不是維度也不是量度信息,屬性信息不像量度信息那樣可以被聚合。
- 派生(Derivation)
派生元素是指從源數(shù)據(jù)得到,再通過(guò)使用定義的表達(dá)式以后,Data Manager 計(jì)算出來(lái)的值。
- 維度(Dimension)
一個(gè)維度元素包含運(yùn)用計(jì)量的數(shù)據(jù)的上下文,例如,一個(gè)計(jì)量產(chǎn)品數(shù)量的量度需要知道產(chǎn)品編號(hào)的維度。
- 派生維度(Derived Dimension)
一個(gè)派生維度元素允許進(jìn)行其他維度表的查找,而這個(gè)查找值可以從之前的派生的查找或則計(jì)算中獲得。
- 量度(Measure)
量度元素是一個(gè)可以進(jìn)行計(jì)算和分析的值,比如成本,收入等。
當(dāng) Data Manager 進(jìn)行聚合的時(shí)候,它會(huì)按照維度的方向來(lái)整合量度和派生。那么接下來(lái),我們嘗試創(chuàng)建一個(gè)事實(shí)構(gòu)建。我們打開(kāi)一個(gè)目錄 DS_Lessons,然后在 Tools 菜單里找到“Fact Build Wizard”,在彈出的對(duì)話(huà)框的“Enter the name of the build”輸入“BIMart”。然后在“Select the type of fact build to create”里選擇“IBM Cognos BI Mart(Star)”的星型事實(shí)表構(gòu)建,最后在“Select the connection into which the build is to deliver data”選擇“DS_Marts”,并且選擇“Perform a full refresh on the target data”。
圖 19. 構(gòu)建事實(shí)
然后,我們?cè)賱?chuàng)建一個(gè)數(shù)據(jù)流,先定義一個(gè)數(shù)據(jù)源,點(diǎn)擊“Data Source”,選擇“Add”,為這個(gè)數(shù)據(jù)流選擇“GO_Sales”作為數(shù)據(jù)源,然后再選在 ORDER_DETAILS 和 ORDER_HEADER 兩張表里的某些列作為源,并且在右邊可以看到相應(yīng)的 SQL,然后點(diǎn)擊完成,并且下一步。
圖 20. 選擇數(shù)據(jù)源的相應(yīng)表字段
在這個(gè)窗口,你可以對(duì)維度和量度的位置進(jìn)行調(diào)整,以及類(lèi)型的修改,下一步。
圖 21. 維度量度調(diào)整
在“Use Reference”里選擇相應(yīng)的維度層次,比如 PRODUCT_NUMBER 對(duì)應(yīng) Product,RETAILER_SITE_CODE 對(duì)應(yīng) Retailer,SALES_STAFF_CODE 對(duì)應(yīng) Staff。然后在點(diǎn)擊下一步,接受默認(rèn)的事實(shí)數(shù)據(jù)以及維度數(shù)據(jù)交付的命名規(guī)則,點(diǎn)擊完成,生成一個(gè)事實(shí)構(gòu)建。
圖 22. 形成事實(shí)映射
回到頁(yè)首
創(chuàng)建派生
所謂派生是 IBM Data Manager 使用表達(dá)式計(jì)算出來(lái)的值,而不是從數(shù)據(jù)源直接獲得的值,你可以在如下應(yīng)用中構(gòu)建派生:數(shù)據(jù)流(DataStreams),數(shù)據(jù)源(Data Source),以及轉(zhuǎn)換模型(Transformation Model)。對(duì)于添加的派生,你都可以使用左邊的樹(shù)狀結(jié)構(gòu)里的表達(dá)式來(lái)右邊構(gòu)建派生邏輯,從而實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換的效果。
圖 23. 派生的邏輯編輯界面
比如,創(chuàng)建在轉(zhuǎn)換模型(Transformation Model)里創(chuàng)建派生,叫做轉(zhuǎn)換模型派生(Transformation Model Derivation)。打開(kāi) DS_Lessons 目錄,右鍵 Additional 事實(shí)構(gòu)建下的轉(zhuǎn)換模型,選擇“Insert Derivation”,在彈出的對(duì)話(huà)框里,命名“GROSS_MARGIN”,然后選擇 Calculation 欄,然后在左邊選擇 Funcations->User Defined 下找到 Margin 的表達(dá)式,并且雙擊,可以看到樣例“Margin(Price, Cost )”然后在左邊,選在 Elements 下的 UNIT_SALE_PRICE 替代 Price,UNIT_COST 替代 Cost,修改為“Margin( UNIT_SALE_PRICE, UNIT_COST )”,點(diǎn)擊 OK,一個(gè) GROSS_MARGIN 派生就構(gòu)建好了。
另外,我們也可以在數(shù)據(jù)流里構(gòu)建派生,叫做數(shù)據(jù)流派生(DataStream Derivations)。在 Additional 事實(shí)構(gòu)建下右鍵選擇 DataStream,點(diǎn)擊屬性,在 DataStream 屬性對(duì)話(huà)框里選擇 Derivations 添加,命名為“SALES_TOTAL”,在計(jì)算欄里找到 DataStream Items 下的“QUANTITY”與“UNIT_SALE_PRICE”,并且在右邊形成表達(dá)式“QUANTITY*UNIT_SALE_PRICE”,點(diǎn)擊完成,然后在 Mapping 窗口,也可以看到新增加的一個(gè) DataStream 派生。
圖 24. 實(shí)現(xiàn)數(shù)據(jù)源、數(shù)據(jù)流以及轉(zhuǎn)換模型的映射
當(dāng)派生做好以后,也可以使用 DataStream 來(lái)執(zhí)行,選擇 DataStream,在 Actions 下點(diǎn)擊 Execute 執(zhí)行按鈕。
圖 25. 執(zhí)行映射
最后,你還可以把 DataStream 映射到轉(zhuǎn)換模型上,右鍵 Additional 事實(shí)構(gòu)建下的轉(zhuǎn)換模型,選擇 Mapping(映射),在打開(kāi)的窗口里選擇自動(dòng)映射(Auto Map)下的“Create New Elements as Measure”創(chuàng)建一個(gè)新元素作為度量值,Data Manager 會(huì)自動(dòng)選擇上新轉(zhuǎn)換模型元素。
圖 26. 自動(dòng)映射
然后在點(diǎn)擊 OK,然后你就可以看到 DataStream 派生現(xiàn)在已經(jīng)映射到轉(zhuǎn)換模型上了。
圖 27. 自動(dòng)映射確認(rèn)
最后,你需要把 Additional 事實(shí)構(gòu)建下的數(shù)據(jù)交付給數(shù)據(jù)集市,右鍵 Additional 事實(shí)構(gòu)建圖標(biāo),選擇 Execute 執(zhí)行,保持默認(rèn)配置,點(diǎn)擊 OK,直到執(zhí)行完成,可以關(guān)閉彈出的命令窗口。
回到頁(yè)首
創(chuàng)建維度構(gòu)建以及工作流
維度構(gòu)建可以提供維度數(shù)據(jù)給許多事實(shí)構(gòu)建,事實(shí)構(gòu)建也可以用于傳遞維度數(shù)據(jù),但這可以以為多給事實(shí)構(gòu)建會(huì)傳遞相同數(shù)據(jù),從而導(dǎo)致重復(fù)工作。維度構(gòu)建生成唯一的維度數(shù)據(jù),而這個(gè)維度構(gòu)建主要用于提供給數(shù)據(jù)集市分析相應(yīng)的的維度引用參考。
打開(kāi) DS_Lessons 目錄,在工具欄里選擇“Dimension Build Wizard”,取名“Retailer”,在 Schema type 里選擇 Star Schema,Dimension to be delivered 里選擇 Retailer,Deliver into connection 里選擇 DS_Marts,下一步全部默認(rèn)選項(xiàng),直到 Add Surrogate Keys to the Dimension Tables 打上勾,完成。
圖 28. 打開(kāi)維度構(gòu)建
最后,右鍵剛構(gòu)建的維度 Retailer,選擇 Execute 執(zhí)行,交付這個(gè)維度構(gòu)建。
另外,使用 JobStreams 是為了組建 IBM Cognos Data Manager 下的各個(gè)組件在一起進(jìn)行有序的邏輯處理。一個(gè) JobStreams 可以包含多個(gè)節(jié)點(diǎn),可以是進(jìn)程里的一個(gè)個(gè)步驟。你可以將 JobStreams 設(shè)置為多個(gè)不同的應(yīng)用程序,比如確認(rèn)的數(shù)據(jù)集市,構(gòu)建一個(gè)狀態(tài)通知,維度數(shù)據(jù)的預(yù)處理區(qū)構(gòu)建,數(shù)據(jù)清洗,索引維護(hù),應(yīng)付不同達(dá)到率的源數(shù)據(jù),分區(qū)任務(wù),以及自定義的程序日志記錄等。為了支持不同的應(yīng)用,JobStream 包含如下的節(jié)點(diǎn):
- 事實(shí)構(gòu)建
- 維度構(gòu)建
- SQL 執(zhí)行
- 程序
- 條件分支
- 嵌套的 JobStreams
- 郵件提醒
- 警告
我們來(lái)創(chuàng)建一個(gè) JobStreams,打開(kāi) DS_Lessons 目錄,右擊“Builds and JobStreams”文件夾,選擇“Insert JobStream”在彈出的對(duì)話(huà)框里命名為“Example”,在參數(shù)欄點(diǎn)擊 Add,然后給參數(shù)命名為“StatusDates”并且類(lèi)型選擇 BOOLEAN,然后依次同樣方法建立 StatusProduct,StatusStaff,StatusRetailer,最后點(diǎn)擊 OK。
然后在 Example 的 JobStream 的設(shè)計(jì)框上找到并點(diǎn)擊 Insert Dimension Build Node 的圖標(biāo),并且在 Associated Build 里找到 Dates,然后在 Details 欄里把 Result variable 里的值替換成 StatusDates,點(diǎn)擊 OK,重復(fù)這個(gè)步驟,構(gòu)建 Product,Staff,Retailer 這個(gè)三個(gè)維度節(jié)點(diǎn)。
然后再在工具欄里選擇 Insert Condition Node 的圖標(biāo),然后在新彈出的對(duì)話(huà)框里,命名這個(gè)“CheckStatus”條件節(jié)點(diǎn),然后在 Action 欄里,輸入如下邏輯并點(diǎn)擊 OK:
IF ($StatusDates AND
Getting Started 75
Chapter 10: Creating a JobStream
$StatusProduct AND
$StatusStaff AND
$StatusRetailer)
THEN
Return TRUE;
ELSE
Return FALSE;
然后再插入一個(gè)事實(shí)構(gòu)建節(jié)點(diǎn),點(diǎn)擊 Insert Fact Build Node 圖標(biāo),在 Associated Build 里找到 ConformedMart,點(diǎn)擊 OK。
然后插入一個(gè)程序節(jié)點(diǎn),點(diǎn)擊 Insert Procedure Node 圖標(biāo),命名為 Abort 的斷點(diǎn)處理程序,在 Action 欄里輸入如下,然后點(diǎn)擊 OK。
LogMsg( 'Node CheckStatus failed. ConformedMart build aborted.');
然后使用 Insert Link 圖標(biāo),連接各個(gè)節(jié)點(diǎn),保存。
圖 29. 構(gòu)建工作執(zhí)行流
最后,右鍵 Example 這個(gè) JobStream,選擇 Execute 執(zhí)行,整個(gè) ETL 工作流執(zhí)行完畢。
總結(jié),IBM Cognos Data Manager 是 IBM Cognos 自身的一個(gè)選擇組件,專(zhuān)門(mén)用于構(gòu)建數(shù)據(jù)集市,因此,里面涉及到的層次,維度,事實(shí),派生以及工作流,都是以數(shù)據(jù)集市設(shè)計(jì)為基礎(chǔ),作為業(yè)界領(lǐng)先的數(shù)據(jù)集市 ETL 工具,Cognos IBM Cognos Data Manager 具有如下特征和優(yōu)勢(shì)供用戶(hù)參考:
- 對(duì)多種數(shù)據(jù)庫(kù)的支持:IBM Cognos Data Manager 支持 SQL Server、Informix、Oracle、DB2、Sybase、Essbase、SQL Server Analysis Services、SAP R/3、Teradata、文本文件等多種數(shù)據(jù)庫(kù),能夠?qū)⒋鎯?chǔ)在這些數(shù)據(jù)庫(kù)中的數(shù)據(jù)抽取出來(lái)加以處理,也能夠?qū)⑻幚硗瓿傻臄?shù)據(jù)寫(xiě)入到這些數(shù)據(jù)庫(kù)中。IBM Cognos Data Manager 對(duì)多種異構(gòu)數(shù)據(jù)庫(kù)的支持,是其強(qiáng)大數(shù)據(jù)匯合能力的保證。
- 圖形化的用戶(hù)設(shè)計(jì)界面:IBM Cognos Data Manager 提供了圖形化的設(shè)計(jì)界面,用戶(hù)可以很方便地設(shè)計(jì)數(shù)據(jù)轉(zhuǎn)換工程的各個(gè)細(xì)節(jié),包括數(shù)據(jù)庫(kù)連接定義、數(shù)據(jù)轉(zhuǎn)換規(guī)則、數(shù)據(jù)加載規(guī)則、工作流程控制等等,直觀的界面帶給用戶(hù)的是快速開(kāi)發(fā)的體驗(yàn)和極低的培訓(xùn)成本。
- 強(qiáng)大的數(shù)據(jù)處理能力:IBM Cognos Data Manager 具有強(qiáng)大的數(shù)據(jù)處理能力,提供了數(shù)據(jù)過(guò)濾、變形、匯總、維表建立、結(jié)構(gòu)變換等多種功能,同時(shí)提供有腳本語(yǔ)言,可供實(shí)現(xiàn)特殊數(shù)據(jù)處理需求,可擴(kuò)充性很強(qiáng)。
- 高效率的數(shù)據(jù)抽取和加載:IBM Cognos Data Manager 支持多種專(zhuān)用的數(shù)據(jù)庫(kù)加速接口,如 Teradata Multiload、Informix LOAD 等等,保證了數(shù)據(jù)抽取、加載的速度和效率。
- 杰出的工作流程控制:IBM Cognos Data Manager 具有杰出的工作流程控制能力,通過(guò)圖形界面,用戶(hù)可以很方便地定義抽取工作的工作節(jié)點(diǎn)和流程,以及進(jìn)行條件分支判斷、錯(cuò)誤處理、消息發(fā)送等工作。
回到頁(yè)首
參考資料
學(xué)習(xí)
- 訪(fǎng)問(wèn)IBM Cognos 主頁(yè),獲得有關(guān) Cognos 解決方案的更多信息。
- 參考 IBM DeveloperWorks Cognos 專(zhuān)區(qū)。
- 參考 Cognos China社區(qū) 獲取更多技術(shù)資源。
- 訪(fǎng)問(wèn) developerWorks Information Management 專(zhuān)區(qū),了解關(guān)于信息管理的更多信息,獲取技術(shù)文檔、how-to 文章、培訓(xùn)、下載、產(chǎn)品信息以及其他資源。
回到頁(yè)首
討論
- 加入 developerWorks? 中文社區(qū)。查看開(kāi)發(fā)人員推動(dòng)的博客、論壇、組和維基,并與其他 developerWorks 用戶(hù)交流。
條評(píng)論
請(qǐng) 登錄 或 注冊(cè)? 后發(fā)表評(píng)論。
?
出處:http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1411cognos-cdm/index.html
轉(zhuǎn)載于:https://www.cnblogs.com/mq0036/p/4193450.html
總結(jié)
以上是生活随笔為你收集整理的IBM Cognos 10.2 最新体验之旅的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 解决layui的table数据重载rel
- 下一篇: Python编程——Python基础知识