国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Cognos TM1創(chuàng)建維度的一種通用方法

2016-05-30 10:48萬麗英何素艷曹宏舉
關(guān)鍵詞:維度

萬麗英 何素艷 曹宏舉

摘 要:Cognos TM1是一款基于內(nèi)存運(yùn)行的高性能OLAP產(chǎn)品,主要用于規(guī)劃、預(yù)算編制、預(yù)測(cè)、分析和記分卡的應(yīng)用。Cognos TM1的數(shù)據(jù)存儲(chǔ)于多維數(shù)據(jù)集模型(Cube)里,Cube由維度(Dimension)構(gòu)成。該文將介紹Cognos TM1 Architect創(chuàng)建維度的方法及相應(yīng)方法的優(yōu)缺點(diǎn),并提出一種通用的創(chuàng)建維度的新方法:利用TI創(chuàng)建維度—可擴(kuò)展的通用代碼法。

關(guān)鍵詞:聯(lián)機(jī)分析處理 多維數(shù)據(jù)集 維度

中圖分類號(hào):TP31 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2016)01(c)-0004-02

Abstract:Cognos TM1 is a high-performance OLAP products based on memory to run, it is mainly used for planning, budgeting, forecasting, analysis and scorecarding.Cognos TM1 stores data in the dataset model(Cube), Cube is made of dimensions.The paper describes the methods of creating dimension which uses Cognos TM1 Architect and the advantages and disadvantages of the methods, and proposes an improved common method: Create dimension using Turbo Integrator - Scalable common method

Key Words:OLAP;Cube;Dimension

維度是有關(guān)業(yè)務(wù)主要方面(例如產(chǎn)品、時(shí)間和區(qū)域)的一組廣泛相關(guān)數(shù)據(jù)。每個(gè)維度包括一個(gè)或多個(gè)層級(jí)(Hierarchy或Level),各個(gè)層級(jí)的成員可以是Consolidated,Simple或String類型。兩個(gè)或以上的維度構(gòu)成數(shù)據(jù)集(Cube),從數(shù)據(jù)瀏覽的角度,維度形成數(shù)據(jù)集視圖(View)的行、列和上下文,數(shù)據(jù)都存儲(chǔ)于維度的葉子成員(Level 0)。

以圖1月維度的數(shù)據(jù)作為例子數(shù)據(jù),該文介紹創(chuàng)建維度的多個(gè)方法。

1 利用Dimension Editor創(chuàng)建維度

這是TM1提供的一種創(chuàng)建維度的基本方法,通過該工具提供的菜單選項(xiàng)來手動(dòng)創(chuàng)建維度。利用該方法能夠?qū)崿F(xiàn)簡單維度的快速創(chuàng)建,在Demo或測(cè)試場景下有利于應(yīng)用的快速實(shí)施,但對(duì)于大型復(fù)雜的維度不適合使用。

2 利用TI創(chuàng)建維度—自動(dòng)生成代碼法

這仍是TM1提供的一種創(chuàng)建維度的基本方法,通過設(shè)置Variables的Contents,Child Variable等的屬性,在Tab【Advanced】自動(dòng)生成可以運(yùn)行的創(chuàng)建維度的代碼。優(yōu)點(diǎn):對(duì)于所有層級(jí)都是父子關(guān)系的維度定義,能較快速地通過設(shè)置屬性來創(chuàng)建維度,并且可以在自動(dòng)生成的代碼之后靈活追加定制代碼;缺點(diǎn):在維度定義內(nèi)容(層級(jí)和層級(jí)之間的父子關(guān)系)頻繁變更的場景下,TI必須做相應(yīng)的調(diào)整。

下面提出一種通用的創(chuàng)建維度的新方法:利用TI創(chuàng)建維度—可擴(kuò)展的通用代碼法。

3 利用TI創(chuàng)建維度—可擴(kuò)展的通用代碼法

新建TI并設(shè)置Data Source Name為例子數(shù)據(jù)文件,追加2個(gè)運(yùn)行參數(shù):pDimensionName為要?jiǎng)?chuàng)建的維度名。pDimensionDatasourceName為維度的數(shù)據(jù)源名。

將Tab【Variables】的【Contents】列全部設(shè)置為Other。

Tab【Advanced】的代碼如下:

【Prolog】

vDim = pDimensionName;

IF(DimensionExists(vDim) = 0);

DimensionCreate(vDim);

ELSE;

DimensionDeleteAllElements(vDim);

ENDIF;

DIMENSIONSORTORDER(vDim, 'BYINPUT', 'ASCENDING', 'BYHIERARCHY', 'ASCENDING');

DatasourceNameForServer = pDimensionDatasourceName;

【Metadata】

IF(Level2 @<> '');

DIMENSIONELEMENTINSERT(vDim, '', Level2, 'n');

ENDIF;

IF(Level1 @<> '');

DIMENSIONELEMENTINSERT(vDim, '', Level1, 'n');

ENDIF;

IF(Level0 @<> '');

DIMENSIONELEMENTINSERT(vDim, '', Level0, 'n');

ENDIF;

#Level0

IF(Level0 @= '');

# Do nothing

ELSEIF(Level1 @<> '');

DIMENSIONELEMENTCOMPONENTADD(vDim, Level1, Level0, 1);

ELSEIF(Level2 @<> '');

DIMENSIONELEMENTCOMPONENTADD(vDim, Level2, Level0, 1);

ENDIF;

#Level1

IF(Level1 @= '');

# Do nothing

ELSEIF(Level2 @<> '');

DIMENSIONELEMENTCOMPONENTADD(vDim, Level2, Level1, 1);

ENDIF;

代碼運(yùn)行后創(chuàng)建維度如圖2所示。這段代碼對(duì)于維度定義為3層及以下的內(nèi)容,都能正確處理。如果實(shí)際應(yīng)用中維度的定義層次更多,則可以預(yù)想所有維度的最大層次,以最大層次作為數(shù)據(jù)源擴(kuò)展上面的代碼,就可以實(shí)現(xiàn)幾乎全部維度的創(chuàng)建。

該文提出的這種可擴(kuò)展的通用代碼法在相當(dāng)大的程度上實(shí)現(xiàn)了模塊化,幾乎不依賴于維度內(nèi)容的定義。即使維度定義內(nèi)容頻繁變更,只要保證變更后的維度層級(jí)在預(yù)先定義好的層級(jí)以內(nèi),無需更改TI。

4 結(jié)語

以上用一個(gè)結(jié)構(gòu)簡單的維度為例,介紹了維度創(chuàng)建的3種方法。在實(shí)際的應(yīng)用中經(jīng)常會(huì)遇到非常復(fù)雜的維度,或者維度結(jié)構(gòu)經(jīng)常改變,這種情況下,利用Dimension Editor或自動(dòng)生成代碼法創(chuàng)建維度,操作會(huì)變得非常復(fù)雜,也難以保證正確性。而利用該文提出的可擴(kuò)展的通用代碼法創(chuàng)建維度,維護(hù)工作將會(huì)變得更高效。

參考文獻(xiàn)

[1] Cognos TM1 Performance Modeler User Guide10.1.0[EB/OL].http://www.ibm.com/support/knowledgecenter/SS9RXT_10.1.0/com.ibm.swg.ba.cognos.prfmdl_ug.10.1.0.doc/c_prfmdl_creating_dimensions_ch.html lang=en.

猜你喜歡
維度
理解“第三次理論飛躍”的三個(gè)維度
認(rèn)識(shí)黨性的五個(gè)重要維度
“意識(shí)形態(tài)終結(jié)論”三重維度批判
用維度展現(xiàn)一個(gè)顛倒的世界
光的維度
“五個(gè)維度”解有機(jī)化學(xué)推斷題
發(fā)展的新維度
精準(zhǔn)扶貧的四個(gè)維度
人生三維度
从江县| 广东省| 云南省| 小金县| 白山市| 安泽县| 天峨县| 青河县| 舞阳县| 开平市| 奇台县| 罗山县| 九寨沟县| 湖南省| 衢州市| 五指山市| 饶平县| 玉林市| 吴忠市| 金阳县| 南川市| 西平县| 永吉县| 天津市| 黄冈市| 巴林右旗| 曲松县| 夏邑县| 扎赉特旗| 潮安县| 夏河县| 图木舒克市| 罗平县| 喀喇沁旗| 大关县| 大宁县| 华安县| 蓬莱市| 无为县| 原阳县| 景德镇市|