999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Cognos TM1創建維度的一種通用方法

2016-05-30 10:48:04萬麗英何素艷曹宏舉
科技創新導報 2016年3期

萬麗英 何素艷 曹宏舉

摘 要:Cognos TM1是一款基于內存運行的高性能OLAP產品,主要用于規劃、預算編制、預測、分析和記分卡的應用。Cognos TM1的數據存儲于多維數據集模型(Cube)里,Cube由維度(Dimension)構成。該文將介紹Cognos TM1 Architect創建維度的方法及相應方法的優缺點,并提出一種通用的創建維度的新方法:利用TI創建維度—可擴展的通用代碼法。

關鍵詞:聯機分析處理 多維數據集 維度

中圖分類號:TP31 文獻標識碼:A 文章編號: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

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

以圖1月維度的數據作為例子數據,該文介紹創建維度的多個方法。

1 利用Dimension Editor創建維度

這是TM1提供的一種創建維度的基本方法,通過該工具提供的菜單選項來手動創建維度。利用該方法能夠實現簡單維度的快速創建,在Demo或測試場景下有利于應用的快速實施,但對于大型復雜的維度不適合使用。

2 利用TI創建維度—自動生成代碼法

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

下面提出一種通用的創建維度的新方法:利用TI創建維度—可擴展的通用代碼法。

3 利用TI創建維度—可擴展的通用代碼法

新建TI并設置Data Source Name為例子數據文件,追加2個運行參數:pDimensionName為要創建的維度名。pDimensionDatasourceName為維度的數據源名。

將Tab【Variables】的【Contents】列全部設置為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;

代碼運行后創建維度如圖2所示。這段代碼對于維度定義為3層及以下的內容,都能正確處理。如果實際應用中維度的定義層次更多,則可以預想所有維度的最大層次,以最大層次作為數據源擴展上面的代碼,就可以實現幾乎全部維度的創建。

該文提出的這種可擴展的通用代碼法在相當大的程度上實現了模塊化,幾乎不依賴于維度內容的定義。即使維度定義內容頻繁變更,只要保證變更后的維度層級在預先定義好的層級以內,無需更改TI。

4 結語

以上用一個結構簡單的維度為例,介紹了維度創建的3種方法。在實際的應用中經常會遇到非常復雜的維度,或者維度結構經常改變,這種情況下,利用Dimension Editor或自動生成代碼法創建維度,操作會變得非常復雜,也難以保證正確性。而利用該文提出的可擴展的通用代碼法創建維度,維護工作將會變得更高效。

參考文獻

[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.

主站蜘蛛池模板: 制服丝袜在线视频香蕉| 久久久久国产精品免费免费不卡| 亚洲国产日韩在线成人蜜芽| 婷婷色中文| 日韩精品欧美国产在线| 啦啦啦网站在线观看a毛片| 91成人免费观看| 在线亚洲天堂| 国产精品九九视频| 中国美女**毛片录像在线| 国产特一级毛片| 在线人成精品免费视频| a级毛片免费在线观看| 伊人久久大香线蕉影院| 亚洲aⅴ天堂| 亚洲丝袜中文字幕| 伊人成人在线视频| 亚洲精选无码久久久| 国产成人精品视频一区二区电影| 亚洲中文字幕久久精品无码一区| 久久久久亚洲精品成人网| 免费看av在线网站网址| 在线观看热码亚洲av每日更新| 1024你懂的国产精品| 久久亚洲黄色视频| 日韩a级毛片| 毛片免费在线视频| 国产午夜在线观看视频| 青草娱乐极品免费视频| 美女视频黄频a免费高清不卡| 人妻无码一区二区视频| 四虎永久在线精品国产免费| 国产精品人莉莉成在线播放| 日韩av手机在线| 久久公开视频| 成人在线亚洲| 少妇极品熟妇人妻专区视频| 好久久免费视频高清| jizz在线免费播放| 99在线观看视频免费| 欧美午夜一区| www.91中文字幕| 91麻豆国产视频| 亚洲成人在线网| 黄色网页在线观看| 老司机午夜精品视频你懂的| 国产高清无码第一十页在线观看| 怡红院美国分院一区二区| 免费三A级毛片视频| 在线中文字幕日韩| 美女内射视频WWW网站午夜| 国产成人亚洲欧美激情| 国产高清不卡| 国产成人在线无码免费视频| 老司机精品久久| 精品国产一区二区三区在线观看 | 亚洲中文无码av永久伊人| 毛片免费试看| 67194亚洲无码| 亚洲国产天堂久久综合226114| 国产精品性| 国产黄网永久免费| 久久综合婷婷| 亚洲综合色婷婷中文字幕| 性色一区| 亚洲不卡影院| julia中文字幕久久亚洲| 欧美成人综合视频| 就去吻亚洲精品国产欧美| 无码网站免费观看| 无码aaa视频| 97在线观看视频免费| 本亚洲精品网站| 欧美在线中文字幕| 本亚洲精品网站| 色婷婷在线影院| 黑人巨大精品欧美一区二区区| 国内熟女少妇一线天| 久久婷婷六月| 亚洲AV免费一区二区三区| 欧美日一级片| 99精品视频播放|