版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Essbase 操作講解Essbase操作講解2010-04-28 15:158.1實(shí)現(xiàn)一個多維模型在這一節(jié)我們描述如何使用DB2 OLAP或Hyperion Essbase來實(shí)現(xiàn)一個基本的多維模型。首先我們用Outline Editor手動定義這個模型,然后展現(xiàn)如何通過外部的輸入文件或表和所謂的數(shù)據(jù)加載規(guī)則來建立模型。在定義模型后,我們通過加載和計(jì)算的程序來引導(dǎo)。8.1.1 TBC銷售模型簡介例子是假設(shè)的飲料行業(yè)中的一個公司。這個公司的主要產(chǎn)品是各種類型的飲料(例如:果汁飲料,乳酪蘇打和乳液)。這些產(chǎn)品出售到美國市場,根據(jù)城市、州進(jìn)行區(qū)域分類。我們的模型將用來分析財(cái)務(wù)據(jù),例如所售商品的銷售和
2、費(fèi)用。這些數(shù)據(jù)每月收集,一年或者是一季度匯總。初始的維度模型如下圖所示。TBC銷售的初始模型創(chuàng)建和加載在上圖中表示的模型的DB2 OLAP(或者Essbase)立方圖,有三個主要的步驟:1.定義模型可用兩種不同的方法實(shí)現(xiàn):手動由外部數(shù)據(jù)源驅(qū)動自動產(chǎn)生2.加載數(shù)據(jù)3.計(jì)算數(shù)據(jù)8.1.2手動創(chuàng)建數(shù)據(jù)庫outline在這部分我們介紹怎樣手動創(chuàng)建簡單的TBC銷售模型,按照以下幾步:1.啟動DB2 OLAP服務(wù)器2.打開DB2 OLAP服務(wù)器應(yīng)用程序管理器3.連接DB2 OLAP服務(wù)器4.創(chuàng)建一個新的應(yīng)用程序5.創(chuàng)建一個新的數(shù)據(jù)庫6.創(chuàng)建維7.創(chuàng)建每個維的成員8.定義名稱及成員9.存盤通過打開命令窗口并
3、鍵入:Essbase,啟動DB2 OLAP服務(wù)器接著輸入DB2 OLAP服務(wù)器密碼,并按回車或者在Windows NT開始菜單選擇Program=Essbase Application Manager。(提示:DB2服務(wù)器可以作為一個Windows NT服務(wù)自動啟動)從Windows NT開始菜單中依次選擇Programs=DB2 OLAP Server=Essbase Application Manger打開DB2 OLAP管理窗口,并通過選擇Server=Connect來連接DB2 OLAP服務(wù)器(見下圖)。連接到服務(wù)器依次點(diǎn)擊應(yīng)用程序管理器窗口中的在服務(wù)器上創(chuàng)建一個叫做TBC的應(yīng)用(見下
4、面兩圖)。創(chuàng)建新的應(yīng)用程序注意到位置選擇標(biāo)識DB2 OLAP服務(wù)器將應(yīng)用程序的系統(tǒng)控制文件放在什么地方。在Essbase目錄中,每個應(yīng)用程序都有自己的子目錄。注意,在DB2中沒有創(chuàng)建立方圖的關(guān)系表。創(chuàng)建TBC應(yīng)用程序之后,我們必須在TBC中創(chuàng)建一個simple數(shù)據(jù)庫。這將在服務(wù)器上創(chuàng)建數(shù)據(jù)庫系統(tǒng)控制文件。注意到我們正在創(chuàng)建一個常規(guī)的數(shù)據(jù)庫,而不是一個流通數(shù)據(jù)庫。流通數(shù)據(jù)庫能夠轉(zhuǎn)換各國貨幣。在應(yīng)用程序管理器(Application Manager)窗口點(diǎn)擊,在服務(wù)器端創(chuàng)建一個simple數(shù)據(jù)庫(如下面兩圖所示)。創(chuàng)建數(shù)據(jù)庫已經(jīng)創(chuàng)建了數(shù)據(jù)庫,現(xiàn)在可以創(chuàng)建outline了。DB2 OLAP將立方圖的
5、結(jié)構(gòu)稱為outline。它包含各個維度、各個維的成員以及事實(shí)。選擇Application TBC=Datebase simple來創(chuàng)建主要的維,選擇Database Outlines圖標(biāo)然后點(diǎn)擊Open。在Outline Editor的上面是一系列圖標(biāo),它們的含義在Application Manager窗口的底部顯示出來。選擇Add achild to the selected member圖標(biāo),如下圖光標(biāo)位置顯示,然后輸入product作為第一個維度名。圖創(chuàng)建維按回車,就可以在同一層次添加其他的維度,輸入Market、Year、Measures三個其它的維度。這些就是我們立方圖的主要維度。默
6、認(rèn)地,在DB2 OLAP服務(wù)器端,維度的結(jié)構(gòu)和操作能力也做同樣的處理。但是,DB2 LOAP服務(wù)器有兩個常用的具體維度類型。一個是Time維,用于時間序列的計(jì)算,一個是Account維,用于數(shù)字事實(shí)。通過在第二行圖標(biāo)加亮選擇year=Time Dimension Type,可以將Year指定為基于時間的維度。通過在第二行圖標(biāo)加亮選擇Measures=Account Dimension Type,可以將Measure作為基于account的度量維??梢钥吹?,在Year和Measures各自的旁邊分別有紅色的Time和Accounts(見下圖)。現(xiàn)在需要在每個維度中輸入各個成員。這能有效地在維度中
7、建立層次。加亮選擇Product,點(diǎn)擊如下圖顯示的Add achild to the selected member圖標(biāo)。輸入100,200,300和400這些產(chǎn)品組作為Product維度的成員(見下圖)。圖創(chuàng)建新的成員然后在產(chǎn)品組100下創(chuàng)建下一個層次,選擇產(chǎn)品組100然后點(diǎn)擊Add achild to the selected member圖標(biāo)。用同樣的方式輸入產(chǎn)品類100-12,100-20和100-30作為產(chǎn)品組100的孩子節(jié)點(diǎn)。另外構(gòu)造Measures維度的層次結(jié)構(gòu),輸入Quantity Sold并在一層中輸入Profits,Sales和CoGs(所售商品的成本),如下圖所示。注意,
8、當(dāng)向立方圖加載數(shù)據(jù)時,數(shù)據(jù)是加載到Measures維中,效果等同于一個星型事實(shí)表中的度量。注意,在我們添加成員時,默認(rèn)的情況下。它們統(tǒng)一作為層次中的添加對象。因此,此時我們可以定義Profit為Sales+CoGs(這從業(yè)務(wù)角度來看是錯誤的)。隨后我們將修改。創(chuàng)建度量目前我們輸入建立的只是一個非常簡單的模型。在這樣的模型里,一個層次所有成員的值聚合為其上層成員的總數(shù)。但是,我們還需輸入其它一些屬性,例如產(chǎn)品組和產(chǎn)品類的名稱。對于企業(yè)中的不同的用戶,別名是獲取信息的有用屬性,使得模型具有更好的可理解性和可讀性。盡管某一部門的用戶可能習(xí)慣用產(chǎn)品數(shù)量,例如100和100-20,但這對于其它部門來說可
9、能并不好理解??梢酝ㄟ^選擇Define the attributes for the selected members圖標(biāo)來指定成員的屬性。在Outline Editor中,選擇產(chǎn)品組100,并點(diǎn)擊Define the attributes for the selected members圖標(biāo)圖定義別名并存儲數(shù)據(jù)如上圖所示,有多種屬性定義。輸入Colas作為產(chǎn)品組100的別名。在這個面板里,有一些常用到的屬性設(shè)置:合并、添加、減、忽略、數(shù)據(jù)存儲器、存儲數(shù)據(jù)、動態(tài)計(jì)算和存儲、動態(tài)計(jì)算、僅標(biāo)識、共享成員。這些屬性隨后討論:添加-在同層其它成員先前執(zhí)行的計(jì)算結(jié)果中添加成員。減-乘以-1,添加到同層其
10、它成員先前執(zhí)行的計(jì)算結(jié)果的總和中。忽略-合并中不考慮該成員。存儲數(shù)據(jù)-存儲成員的數(shù)據(jù)值。動態(tài)計(jì)算-當(dāng)用戶要求時才計(jì)算數(shù)據(jù),顯示完結(jié)果后釋放。動態(tài)計(jì)算及存儲-當(dāng)用戶要求時才計(jì)算數(shù)據(jù),然后存儲。僅標(biāo)識-只創(chuàng)建導(dǎo)航成員,即成員不含有數(shù)值。成員共享-在成員間共享數(shù)值,這使得成員能在多個不同的層次上合并?,F(xiàn)在我們可以修改CoGs的屬性,把加合并改為減合并,則Profit現(xiàn)在就成為Sales-CoGs。注意,上圖顯示的面板也提供了一種通過Add Sibling和Add Child按鈕及Prev和Next按鈕,手動輸入維成員的快速方法。在outline中定義的維的結(jié)果如下圖所示。圖所生成的維當(dāng)創(chuàng)建一個新的維
11、度時,默認(rèn)情況下,維度定義為密集的(dense)。在這個簡單模型,也是這樣?,F(xiàn)討論,如何根據(jù)設(shè)計(jì)需求,進(jìn)行維度的密疏設(shè)置。如下圖所示,在Essbase應(yīng)用程序管理器窗口依次選擇Settings=Data Stroage。圖默認(rèn)的密集維度在彈出的數(shù)據(jù)存儲窗口上,我們可以選擇Recommend按鈕來查看可能的最佳建議。這給我們提供了可能的塊和字節(jié),及每塊在維度定義中密疏的不同配置(見下圖)。注意,DB2 OLAP服務(wù)器僅知道outline,并不知道將加載的輸入數(shù)據(jù)或那些數(shù)據(jù)的特性。因此提供的推薦和等級都不應(yīng)該僅看表面值。在設(shè)計(jì)立方體中,應(yīng)該執(zhí)行一個全面的需求和設(shè)計(jì)過程,并且它是立方體疏密設(shè)計(jì)的基礎(chǔ)
12、。圖密集(Dense)和稀疏(Sparse)的配置選擇應(yīng)用程序管理器窗口中的 As,在服務(wù)器端存儲outline,如下圖所示。就是在這個階段,創(chuàng)建DB2中的關(guān)系表,各個維度有各自獨(dú)立的表。成員名稱和屬性,連同它們的相應(yīng)屬性如別名,以及它們是否加減合并等,一起都插入到這些表中。圖保存Outline如所見,手動輸入outline的過程費(fèi)時且易發(fā)生類型錯誤,因此不適宜具有很多成員的大量維度的情況。DB2 OLAP服務(wù)器可從外部數(shù)據(jù)源(如數(shù)據(jù)庫表或文件)加載維度。例如,當(dāng)我們考慮表示產(chǎn)品、市場或客戶的維度時,它們可能有數(shù)以千萬的成員,手動創(chuàng)建就不再可取。并且,這些維度的結(jié)構(gòu)和層次可能會發(fā)生變化,例如引
13、入了新產(chǎn)品或者定義了新的產(chǎn)品組。因此有必要動態(tài)地建立和維護(hù)outline。在這部分,我們將說明怎樣在Visual Warehouse Business Views的幫助下和通過使用Data Load Rules的平面文件動態(tài)創(chuàng)建一個OLAP服務(wù)器數(shù)據(jù)庫outline。外部的表和文件包含定義每個維度結(jié)構(gòu)所需的信息。維度的每個成員與它在層次中的相應(yīng)位置有關(guān)。這種映射可以通過三種不同的機(jī)制實(shí)現(xiàn)。輸入的數(shù)據(jù)集中的每列與所在維度層次中對應(yīng)的層次級別相關(guān)聯(lián);從底向上,從0開始的最細(xì)節(jié)的那一層(或者是葉子層)自下至上計(jì)算,直到最高的集聚層,如下圖所示。這種參照方法稱作層次參照。圖層次參照輸入的數(shù)據(jù)集的每列與
14、所在層次中對應(yīng)的生成數(shù)相關(guān)聯(lián);從1開始的最聚集的那一層數(shù)據(jù)自上而下計(jì)算,直到最細(xì)節(jié)的那一層數(shù)據(jù),如下圖所示。這種參照稱作生成參照。圖生成參照輸入文件的記錄包括兩列直接的父/子描述參照,如下圖所示。圖父/子參照也可以用這種技術(shù)來定義維度的描述和屬性。理想的情況下,模型的每個維度只有一個輸入數(shù)據(jù)集(文件或表)。通過Data Load Rules可以建立列和對應(yīng)的參照間的映射。它們可由Data Prep Editor維護(hù)。創(chuàng)建產(chǎn)品維度(使用層次參照)在這個例子中,假定outline已經(jīng)包含Porduct維度的一個實(shí)體。因此,我們需要把初始表中的數(shù)據(jù)與outline中的維度聯(lián)系起來。我們
15、用一個SQL表,在我們數(shù)據(jù)集市的關(guān)系存儲范圍內(nèi)定義為一個Visual Warehouse Business View(業(yè)務(wù)視圖),作為Product維度的初始表。這個SQL表叫IWH.PRODUCTS,是一種產(chǎn)品主表,其中每個產(chǎn)品一行(見下圖)。在113頁5.3TBC銷售模型事務(wù)觀察對和ALL_PRODUCTS表相關(guān)的事務(wù)觀察有所描述。圖所有產(chǎn)品的業(yè)務(wù)視圖(樣本內(nèi)容)為Product維度創(chuàng)建數(shù)據(jù)加載規(guī)則(Data Load Rules):1.連接服務(wù)器2.選擇數(shù)據(jù)庫和應(yīng)用程序3.點(diǎn)擊Data Load Rules按鈕4.在服務(wù)器窗口上,點(diǎn)擊New按鈕。打開Data Prep編輯器5.在應(yīng)用程序
16、管理器窗口上,點(diǎn)擊File,選擇Open SQL實(shí)體6.在選擇的服務(wù)器,應(yīng)用程序和數(shù)據(jù)庫窗口上,驗(yàn)證正確的實(shí)體,單擊OK(見下圖)圖Essbase應(yīng)用程序管理器7.用Define SQL窗口來定義數(shù)據(jù)庫,從Product維度的初始表中選擇檢索相關(guān)列的語句從ALL_PORODUCTS表選出的每行對應(yīng)于outline中Product維度的一個成員。為了避免重復(fù)行,這些行在創(chuàng)建維度時將被舍棄,在我們的SQL語句中應(yīng)包括Distinct子句(見下圖)。圖定義SQL語句當(dāng)點(diǎn)擊OK/Retrieve按鈕,將看到SQL Connect窗口。如果已經(jīng)錄入正確的用戶ID和密碼,點(diǎn)擊OK即可。否則,輸入正確的用戶
17、ID和密碼然后點(diǎn)擊OK。此時,Data Prep編輯器里有查詢的結(jié)果(見下圖).圖Data Prep編輯器中的結(jié)果注意:當(dāng)連接到數(shù)據(jù)庫,但是SQL語句的定義錯誤時,可能會返回一個錯誤信息(參見下圖)。檢查DB2 OLAP服務(wù)器應(yīng)用程序日志文件調(diào)查錯誤的原因。圖SQL存取錯誤信息檢索完P(guān)roduct維度的設(shè)計(jì),接下來定義將數(shù)據(jù)加載進(jìn)outline的規(guī)則。首先我們必須使一個outline與我們的數(shù)據(jù)加載規(guī)則關(guān)聯(lián)。在Data Prep編輯器中,點(diǎn)擊Associate Outline圖標(biāo)(見下圖),從列表框中選擇正確的服務(wù)器,應(yīng)用和數(shù)據(jù)庫,雙擊將返回Data Prep編輯器。圖Data Prep編輯器
18、圖標(biāo)在這一步,確保已單擊過View Dimension Building Fields按鈕。接下來我們需要將字段屬性和輸入文件相關(guān)聯(lián)。也就是把SQL結(jié)果列與outline中維度定義的相應(yīng)結(jié)構(gòu)關(guān)聯(lián)起來。我們前面講到的層次參照。0層往往是層次中的最底層或葉子層;也是進(jìn)行加載操作時數(shù)據(jù)加載層。在立方體建立過程的計(jì)算期間,更高層的數(shù)據(jù)被聚集。在我們的例子的Product層次中,PROD_CLASS_CODE(例如100-10)作為最低層,PROD_GRP_CODE(例如100)作為下一個稍高的層次。單擊Define Attributes圖標(biāo)(見上圖),打開Field Attributes窗口(見下圖)
19、。圖維度構(gòu)建屬性在我們這種情況下,Global Attributes可以用默認(rèn)設(shè)置。對于輸入表中的每個列,單擊Dimension Building Attributes標(biāo)簽定義類型和對應(yīng)的維,確保從outline中選擇出正確的維。每層或每個元素的別名(描述)可以用相同層的參照數(shù)來關(guān)聯(lián)。由于沒有定義字段的合并屬性,在維度計(jì)算期間,默認(rèn)屬性+用來為當(dāng)前總數(shù)添加度量?,F(xiàn)在用對話框Dimension Building settings來設(shè)置選項(xiàng),應(yīng)用到我們動態(tài)建立的所有維上。應(yīng)已選中Global Settings標(biāo)簽。由于我們沒有用一個別名表為每一個元素名稱存儲別名,所以可以用默認(rèn)設(shè)置。如果列表框?yàn)榭?/p>
20、,單擊outline按鈕把outline與維度構(gòu)建規(guī)則文件相關(guān)聯(lián)。在Data Configure選項(xiàng)框中,我們定義是否用我們自己的設(shè)置來指定數(shù)據(jù)的密疏,或者由Essbase選擇這些設(shè)置。對于TBC Product維,我們設(shè)置為密。圖維度構(gòu)建設(shè)置通過維度構(gòu)建設(shè)置(Dimension Build Settings),我們可指定前面描述的哪些方法用于,在動態(tài)維度構(gòu)建期間,將初始表的列映射到維度層次內(nèi)的具體的層次。單擊Dimension Build Settings標(biāo)簽,打開對話框。如果維列表為空,單擊Outline按鈕,并把規(guī)則文件與outline關(guān)聯(lián)。Essbase將維列表和outline的維關(guān)聯(lián)
21、。為Product維選擇相應(yīng)的構(gòu)建方法(在本例中,用層次參照方法)。在已有的成員(Existing Member)選擇框中,我們可以指定Essbse怎樣改變outline中的已有的成員。在本例中,如果在數(shù)據(jù)源中指定新的屬性,激活A(yù)llow Attributes Changes選項(xiàng)框,以便可以改變已有成員的屬性。由于源中數(shù)據(jù)可能沒有被分類排序,并且我們可能會把源和已有的成員合并,因此,我們可以選擇升序(元素排序選擇框)對成員分類排序。在成員更新(Member Update)選擇框中,默認(rèn)的選擇是將新成員和outline中已存在的元素合并?,F(xiàn)在單擊維度定義(Dimension Definition
22、)標(biāo)簽。在這里,我們可以指定某個維是否源于一個已有的outline還是在加載規(guī)則中定義。當(dāng)創(chuàng)建新的維時,必須在加載規(guī)則中定義它們。本例用的是outline。數(shù)據(jù)加載規(guī)則定義的下一步也是最后一步,在數(shù)據(jù)庫outline中驗(yàn)證所有參數(shù)的正確的設(shè)置。單擊Verify按鈕打開Verify Outline對話框。如果都正確,將返回一個Ok消息,它意味著創(chuàng)建維度outline的所有所需的信息都是可用的,句法上正確的。如果不是這種情況,列表框列出的成員的項(xiàng)目名稱(Item Name)有潛在錯誤。錯誤列表框?qū)λx成員提供一個錯誤描述或者警告信息。在驗(yàn)證成功之后,保存加載規(guī)則?,F(xiàn)在我們準(zhǔn)備加載outline。在
23、Essbase應(yīng)用程序管理器窗口選擇Datebase=Load data。從數(shù)據(jù)加載(Data Load)對話框,可以從外部數(shù)據(jù)源j將數(shù)據(jù)加載到Essbase數(shù)據(jù)庫outline,或者用外部的數(shù)據(jù)在已有的outline中創(chuàng)建維。圖數(shù)據(jù)加載填寫服務(wù)器、應(yīng)用程序和數(shù)據(jù)庫的正確信息。在類型選擇框中選擇加載數(shù)據(jù)源的類型。在本例中,從SQL加載數(shù)據(jù)。如果需要,輸入SQL用戶名和密碼。當(dāng)加載SQL數(shù)據(jù)源時,必須用數(shù)據(jù)加載規(guī)則(Data Load Rules)。Use rules選項(xiàng)框提示Essbase用加載規(guī)則加載數(shù)據(jù)源,并激活Find按鈕。單擊Find按鈕激活打開服務(wù)器規(guī)則對象(Open Server
24、Rules Object)窗口。在我們的Product例子中,可以選擇正確的加載規(guī)則。單擊OK返回?cái)?shù)據(jù)加載窗口。錯誤輸出文件(Error Output File)正文表列出錯誤日志文件的位置??梢灾付ㄈ魏挝募?。如果正文框?yàn)榭談t是沒有捕獲到錯誤。在組選框檢查Modify Outline。這提示Essbase用關(guān)聯(lián)的加載規(guī)則在加載期間改變outline,通過添加或者改變在outline數(shù)據(jù)源發(fā)現(xiàn)的和在加載規(guī)則中描述的元素和成員。因?yàn)槲覀儾幌氪丝碳虞d數(shù)據(jù),LoadData檢驗(yàn)欄必須未檢驗(yàn)。當(dāng)檢驗(yàn)了Interactive檢驗(yàn)欄,會提示加載失敗。Essbase提示什么數(shù)據(jù)源加載失敗并詢問是否繼續(xù)讀取剩余
25、的數(shù)據(jù)源。當(dāng)單擊OK按鈕,outline同Product加載規(guī)則一起加載,Visual Warehouse Business View擔(dān)當(dāng)起初始表。正確加載之后,Product維的outline如下圖所示。圖加載Product規(guī)則后的Product Outline 創(chuàng)建另一個可選的聚合路徑現(xiàn)在已經(jīng)動態(tài)創(chuàng)建了所有產(chǎn)品在一個層次結(jié)構(gòu)上分布的product維。然而,需要經(jīng)常分析基于特定產(chǎn)品的不同分組和不同方式聚合的銷售數(shù)據(jù)。因此,除了已創(chuàng)建的層次外,我們想引入另一個可替代的聚合路徑。這樣做的目的是為了利用共享成員。共享成員可以用來計(jì)算多組間的同樣成員,也就是說可以在多個聚集中引用單個成
26、員。在TBC銷售分析的例子中,我們想定義一個包括所有Diet飲料的單獨(dú)的組。因此我們想把所有在Product維的Diet飲料添加到一個新的產(chǎn)品組,并在這個層次上總計(jì),但是我們不想這個總計(jì)擴(kuò)散到整個Product維上。我們用叫做DIET_PRODUCTS的Visual Warehouse Business View來為共享的Diet元素加載outline。為此我們需要創(chuàng)建一個新的數(shù)據(jù)加載規(guī)則。用相同的步驟為標(biāo)準(zhǔn)Product維創(chuàng)建所需的數(shù)據(jù)加載規(guī)則,直到必須定義SQL語句。下圖顯示了所使用的SQL語句。圖共享的Diet成員的SQL定義從DIET_PRODUCTS表檢索出數(shù)據(jù),需要定義維構(gòu)建屬性(
27、Dimension Building Attributes)(在字段屬性內(nèi))。當(dāng)在同層創(chuàng)建共享成員,并使用層次參照構(gòu)造方法時,必須確保存在與根層(例如100)的參照,并且新產(chǎn)品組(例如Diet)在每個輸入記錄里指定(見下圖)。圖Diet Product規(guī)則的規(guī)則文件編輯器在DIET_PRODUCTS業(yè)務(wù)視圖中,有一個叫做PROD_GRP_ATTRIB的列。屬性用來指定一個成員的具體行為。在本例中,這個列包含符號。當(dāng)它創(chuàng)建outline時,這個屬性提示Essbase從歸并中排除這一層次。因?yàn)槲覀儾幌M鸇iet產(chǎn)品在Product層上被合并兩次,我們也需要添加PROD_GRP_ATTRIB字段作為
28、1層成員的屬性。我們只希望Diet產(chǎn)品在它們自己的成員層次上匯總,并非在共享的元素層上。在運(yùn)行過SQL查詢和定義過維構(gòu)建屬性之后,規(guī)則文件編輯器(Outline )應(yīng)該如前圖所示,outline結(jié)果如下圖所示。圖插入Diet產(chǎn)品的Outline 構(gòu)建市場(Market)維在前面部分我們看到怎樣擴(kuò)展維?,F(xiàn)在我們將從頭開始添加matket維。在outline中,這個維沒有任何參照,因此我們首先需要定義新的基本維。創(chuàng)建Market維,與為Product維創(chuàng)建加載規(guī)則的步驟相同:1.打開Essbase應(yīng)用程序管理器2.連接服務(wù)器3.選擇TBC應(yīng)用程序和Simple數(shù)據(jù)庫4.單擊Rules
29、 File圖標(biāo),單擊New,打開Data Prep編輯器5.從Essbase應(yīng)用程序管理器中選擇 SQL.6.在選擇服務(wù)器和數(shù)據(jù)庫(Select Server and Database)窗口,選定參數(shù),單擊OK按鈕。這將打開定義SQL(Define SQL)窗口。Market維的數(shù)據(jù)存儲在IWH.REGIONS業(yè)務(wù)視圖中。定義SQL的窗口為加載規(guī)則抽取數(shù)據(jù),如下圖所示。圖Market維的定義SQL窗口7.為了定義新的Market維,單擊Dimension Build Settings圖標(biāo),并選擇mension Definition標(biāo)簽(見下圖)。出現(xiàn)的對話框可定義添加到outline中的新的維
30、,或在一個動態(tài)維創(chuàng)建期間改變已存在的維。在Dimensions From下,指定規(guī)則文件選項(xiàng),在名字文本框輸入想建的維的名字。圖維度定義8.單擊Add按鈕向維表中添加此維。這個新維名字也出現(xiàn)在outline的下拉菜單上。9.定義余下的層次和別名的過程與Product層次相同。因此我們必須定義SQL語句將數(shù)據(jù)加載到Data Prep編輯器中。結(jié)果如下圖所示。我們還需根據(jù)檢索到的數(shù)據(jù)來定義層,并關(guān)聯(lián)outline文件。圖Market維度規(guī)則的Data Prep編輯器為創(chuàng)建Market維,運(yùn)行加載規(guī)則,新的Market維的outline如下圖所示。圖TBC銷售模型的Market維度的Outline
31、創(chuàng)建時維(用父/子關(guān)聯(lián))另有一種創(chuàng)建維的方法是父/子方法。在數(shù)據(jù)源中對每個元素一定有一個父/子關(guān)系。這種父/子數(shù)據(jù)源一定包含至少兩列:父親列和兒子列。還可以有其它的描述列,例如別名屬性,但是在單個列中包含的關(guān)系不能超過一種。圖構(gòu)建父/子Outline的文件結(jié)構(gòu)對于TBC銷售應(yīng)用程序的年維度,我們創(chuàng)建了一個叫做TIMEDIM.TXT的文件,包括上圖顯示的父/子結(jié)構(gòu)。如果這個文件放在客戶端,當(dāng)單擊選擇客戶端時出現(xiàn)的按鈕,就可以打開看見它。定義數(shù)據(jù)加載規(guī)則:1.在服務(wù)器窗口,單擊Data Load Rules圖標(biāo)和New按鈕2.將與outline相關(guān)的數(shù)據(jù)加載到規(guī)則編輯器,在Essba
32、se應(yīng)用程序管理器窗口中選擇 Date File,并選擇正確的數(shù)據(jù)文件(見上圖)3.選擇Set Dimension圖標(biāo),并在維構(gòu)建設(shè)置窗口中單擊Dimension Build Settings標(biāo)簽(見下圖)。維列表列出用于選擇的維。如果維列表為空,如果年維已存在于outline中,或者按前面所描述的定義一個新維,則單擊Outline按鈕。圖Year維度的維度構(gòu)建設(shè)置4.現(xiàn)在我們在構(gòu)建方法(Build Method)選擇框中指定Use Parent/child References選項(xiàng)。5.選擇Define Attributes= Building Attributes。字段數(shù)量(Field N
33、umber)標(biāo)簽顯示當(dāng)前所選字段數(shù)目。6.在字段定義(Field Definition)組選框中,為當(dāng)前所選字段設(shè)置字段類型、數(shù)量和維度,為字段1選擇Parent,這表示這個字段包含一個父參照名字。7.為字段2選擇Child,這意味著這個字段包含一個子參照名字8.選擇Set Data 對話框。文件分隔符一定要用分號,與我們數(shù)據(jù)文件用到的分隔符匹配(見下圖)。單擊OK。圖數(shù)據(jù)文件屬性9.單擊Verify圖標(biāo)驗(yàn)證規(guī)則定義。如果沒有錯誤,就把規(guī)則文件存盤。10.用加載其它維的同一過程把Year維加載outline中,除了現(xiàn)在必須指定的Data Files(不是為執(zhí)行維加載指定的SQL)。8.1.3.
34、5備份維、成員和outline在有些情況下,備份一個從一個數(shù)據(jù)庫到另一個數(shù)據(jù)庫的完整的outline是有用的。在其它情況下,在一個已存在的outline中,只需一個單一維的定義。DB2 OLAP服務(wù)器支持這兩種情況。.1備份outline備份一個完整的outline只需用及一個不同的名字Save as..2備份一個維或者成員從一個應(yīng)用程序或數(shù)據(jù)庫到另一個應(yīng)用程序或數(shù)據(jù)庫,備份單個維或元素遵循以下步驟:1.打開將被復(fù)制的維或者成員的outline 2.選擇備份的維和成員3.在Essbase應(yīng)用程序管理器窗口單擊Edit=Copy,將所選的對象備份到剪貼板4.打開復(fù)制到
35、的應(yīng)用程序或者數(shù)據(jù)庫outline 5.選擇維或成員,在其后放置新對象6.在Essbase應(yīng)用程序管理器窗口單擊Paste Sibing來粘貼剪貼板內(nèi)容,作為已選成員的兄弟;或者單擊Paste Child來粘貼剪貼板的內(nèi)容,作為已選成員的孩子用這種方法,可很快為新的應(yīng)用程序生成outline。8.1.4加載數(shù)據(jù)在前面部分,討論了怎樣為DB2 OLAP或Hyperion Essbase立方體動態(tài)創(chuàng)建維。對于加載數(shù)據(jù),有相似的處理(例如,事實(shí)表)。通常,用了加載規(guī)則,輸入數(shù)據(jù)文件的每列就會被描述。注意,也可以以自由形式加載文件而不需要加載規(guī)則,但是這種方法很少用到,因?yàn)槭謩觿?chuàng)建是很復(fù)雜的。通常,當(dāng)
36、一個DB2 OLAP服務(wù)器的輸出創(chuàng)建自由形式的輸出文件,用它在立方體間移動數(shù)據(jù)。數(shù)據(jù)加載規(guī)則從本質(zhì)上講是操作集,當(dāng)DB2 OLAP服務(wù)器把數(shù)據(jù)加載進(jìn)DB2 OLAP服務(wù)器數(shù)據(jù)庫時,DB2 OLAP服務(wù)器在數(shù)據(jù)上執(zhí)行該操作集。操作存儲在加載規(guī)則中,加載規(guī)則告訴DB2 OLAP服務(wù)器怎樣加載SQL數(shù)據(jù)并將它映射到數(shù)據(jù)庫outline。從一個SQL表中加載數(shù)據(jù)需要用到加載規(guī)則。在這一階段,我們已經(jīng)全部定義好立方體的所有維、成員和屬性。按以下步驟加載數(shù)據(jù)并計(jì)算立方體。1.打開數(shù)據(jù)加載規(guī)則2.定義SQL輸入文件(或平面文件輸入)3.將維映射到輸入文件的列4.將Measure映射到輸入文件的列5.設(shè)置數(shù)據(jù)
37、文件屬性6.將outline和加載規(guī)則進(jìn)行關(guān)聯(lián)7.保存加載規(guī)則8.清空立方體中的數(shù)據(jù)(如果需要)9.加載數(shù)據(jù)于立方體從一個表中加載數(shù)據(jù)選擇Data Load Rules ,打開一個新的加載規(guī)則。選擇 SQL.(如下圖所示)。注意,與其它開發(fā)環(huán)境一樣,建議用一個小的輸入集來初始化立方體,直到立方體的設(shè)計(jì)得到確認(rèn)。圖定義SQL輸入表下面我們需要選擇所需的數(shù)據(jù)庫和所需的SQL語句,提供我們加載的輸入數(shù)據(jù)。在定義SQL窗口(下圖)選擇數(shù)據(jù)源TBC_TGT,鍵入:Select ORDER_MON_YY,PROD_CLASS_CODE,CITY,QUANTITY,SALES,COGS FRO
38、M IWH.LAUNCH_TABLE_FOR_S選擇OK/Retrieve圖標(biāo),在出現(xiàn)SQL連接對話框是單擊OK。圖連接到數(shù)據(jù)庫加載到立方體的數(shù)據(jù)位于每個維的最低層。在本例中的立方體,維有:Product、Market、Year和Measures.為了加載數(shù)據(jù),我們需要輸入產(chǎn)品類別、城市和月這些數(shù)據(jù),以及數(shù)量、銷售和COGS的Measure成員的數(shù)值。有這些最低層的數(shù)據(jù),DB2 OLAP服務(wù)器就可以在創(chuàng)建立方體過程的計(jì)算步驟期間,在每個維的層次結(jié)構(gòu)中,對更高的層次進(jìn)行聚合。但是,也有可能從層次結(jié)構(gòu)的高層加載數(shù)據(jù)。為了避免計(jì)算期間低層丟失數(shù)據(jù)的聚合覆蓋高層數(shù)據(jù),在相應(yīng)的計(jì)算腳本或在數(shù)據(jù)庫設(shè)置窗口
39、中,將AGGMISSG參數(shù)設(shè)置為OFF。如下圖所示,DB2 OLAP服務(wù)器不能識別SQL表的列名。我們需要將輸入列ORDER_MON_YY、PROD_CLASS_CODE和CITY映射到維Year、Product和Market,并將輸入列稱作Year、Product和Market。圖加載的樣本輸入數(shù)據(jù)選擇列ORDER_MON_YY,并單擊Define attributes for the selected column圖標(biāo).需要把此列與Year維關(guān)聯(lián)。選擇Outline=Year(見下圖)。DB2 OLAP服務(wù)器使用名字參照確定將數(shù)據(jù)輸入多維結(jié)構(gòu)的什么地方。因此需要將SQL表中列名映射到out
40、line定義中所用的名字。圖Year維度的映射Measure維標(biāo)識為Account維度,與它所保存的數(shù)值有一點(diǎn)不同。通過前面的例子可知,沒有明確地命名列名,就沒有辦法標(biāo)識每個數(shù)值代表什么。因此,三個Measure數(shù)據(jù)字段映射到Quantity Sold、Sales和COGS。注意,如果SQL表的列名就是Year、Product、Market,Quantity Sold、Sales和COGS,那么就不需要明確的映射了。圖Measure維的映射對于Measure數(shù)據(jù),經(jīng)常會丟失或不知道。在這種情況下,DB2 OLAP服務(wù)器需要在輸入文件的數(shù)據(jù)字段有值#M1或#MISSING。一種簡單的方法是:對于
41、每個Measure數(shù)據(jù)用加載規(guī)則把任何空值替換為#M1。當(dāng)這些數(shù)據(jù)在立方體中被觀察時,#MISSING也就被真正看到。注意,在下圖中,實(shí)際上在替代區(qū)有一個空值。一旦一個空值鍵入,添加替代值的Add按鈕將被激發(fā)。注意#MISSING實(shí)際上只適用于數(shù)字字段。如果用作維字段,DB2 OLAP服務(wù)器將會為維成員添加#M1,且在outline中也無法發(fā)現(xiàn)。例如,它將把一個維元素看作100#M1而不是100。在數(shù)據(jù)加載和維構(gòu)建輸入中,可以為數(shù)據(jù)字段定義多個替代字符串,每個輸入字段可指定多個替代字符串。從上面的例子可以看出,數(shù)據(jù)加載規(guī)則可以用來實(shí)現(xiàn)許多相當(dāng)復(fù)雜數(shù)據(jù)轉(zhuǎn)換和清洗操作。但是,建議在數(shù)據(jù)正要進(jìn)入OL
42、AP環(huán)境之前,用數(shù)據(jù)加載子系統(tǒng)(也就是Visual Warehouse業(yè)務(wù)視圖)的功能來獲得數(shù)據(jù)。圖用#M1替換丟失的數(shù)據(jù)值除了允許用其它值替代輸入數(shù)據(jù)值,DB2 OLAP服務(wù)器也允許在數(shù)據(jù)加載規(guī)則中指定說明記錄的選擇和排斥。選擇Record=Reject來排斥具體的記錄。在排斥記錄的過程中,也可以用布爾操作and和or。所以,對于從一個SQL數(shù)據(jù)源輸入的數(shù)據(jù),記錄的選定和排斥和常規(guī)的可以指定子句的SQL一樣。然而要注意的是,選定和排斥一般在SQL定義中執(zhí)行。選定和拒絕對于輸入平面文件數(shù)據(jù)非常有用。在下圖的例子中,數(shù)據(jù)文件中Product包括Caffeine Free或Product等于100-10,DB2 OLAP服務(wù)器不會加載輸入數(shù)據(jù)文件中的記錄。圖在數(shù)據(jù)加載規(guī)則中排斥記錄注意,在下圖中,對于被確認(rèn)的映射,需要維名包括一個空格、雙引號,例如Quantity Sold。圖將Outline和加載規(guī)則進(jìn)行關(guān)聯(lián)下面的步驟是來保存加載規(guī)則定義,正如在構(gòu)建維過程所做的。選擇TBC銷售outline,接著 As,把加載規(guī)則以名稱LOAD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中秋活動淘寶策劃方案(3篇)
- 禮品大米策劃活動方案(3篇)
- 開展賭博活動方案策劃(3篇)
- 山東省臨沂市費(fèi)縣南片區(qū)2025-2026學(xué)年人教版九年級化學(xué)上學(xué)期期末聯(lián)考練習(xí)試卷(含答案)
- 醫(yī)美醫(yī)療廢物處理:環(huán)保法律合規(guī)
- 醫(yī)療費(fèi)用控制與質(zhì)量安全績效平衡
- 醫(yī)療設(shè)備采購中的合規(guī)管理能力提升
- 中耳炎急癥處理流程指南
- 價值鏈招商提升
- 華為客戶拜訪效果評估
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- 智能法理學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- JB∕T 13026-2017 熱處理用油基淬火介質(zhì)
- 人教版高一化學(xué)方程式大全
- DB64 1996-2024 燃煤電廠大氣污染物排放標(biāo)準(zhǔn)
- 鄰近鐵路營業(yè)線施工安全監(jiān)測技術(shù)規(guī)程 (TB 10314-2021)
- 樣板加油站打造方案
- 生物化學(xué)第30章蛋白質(zhì)降解和氨基酸的分解代謝
- YY/T 1269-2015血液透析和相關(guān)治療用水處理設(shè)備常規(guī)控制要求
- 保密資格標(biāo)準(zhǔn)認(rèn)定辦法試題2017-含答案
- “雙減”背景下小學(xué)數(shù)學(xué)減負(fù)提質(zhì)的策略優(yōu)秀獲獎科研論文
評論
0/150
提交評論