MondrianSchema詳解_第1頁
MondrianSchema詳解_第2頁
MondrianSchema詳解_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Mondrian Schema 詳解SchemaSchema定義了一個多維數(shù)據(jù)庫。包含了一個邏輯模型,而這個邏輯模型的目的是為了書寫MDX語言的查詢語句。這個邏輯模型實際上提供了這幾個概念:Cubes (立方體)、維度(Dimensions )、層次(Hierarchies )、級別(Levels )、和成員(Members )。 而一個schema文件就是編輯這個 schema的一個xml文件。在這個文件中形成邏輯模型 和數(shù)據(jù)庫物理模型的對應。Cube一個Cube是一系列維度 (Dimension)和度量(Measure) 的集合區(qū)域。在 Cube中,Dimension和Measure的共同

2、地方就是共用一個事實表。Cube中的有以下幾個屬性:屬性名含義nameCube的名字caption標題,在表示層顯示的cache是否對Cube對應的實表用 mondrian 進行存儲,默認為trueen abled是布爾型的,如果是被激活,Cubes就執(zhí)行,否則就不予理睬, 默認為trueCube里面有一個全局的標簽定義了所用的事實表的表名Dime nsio n他是一個層次(Hierarchies )的集合,維度一般有其相對應的維度表他的組成是由層次(Hierarchies )而層次(Hierarchies )又是有級別(Level )組成.其屬性如 下:屬性名含義nameDime nsion

3、 的名稱type類型,有兩個可選的類型:Sta ndarDime nsion和TimeDimension ,默認為 StandardDimensioncaption標題,在表示層顯示的UsagePrefix加前綴,消除歧義foreig nKey外鍵,對應事實表中的一個列,它通過兀素中的主鍵屬性連接起來。Hierarchy你一定要指定其中的各種關系,如果沒有指定,就默認Hierarchy里面裝的是來自立方體中的真實表.屬性如下:屬性名含義nameHierarchy的名稱,該值可以為空,為空時表示Hirearchy 的名子和Dime nsio n 的名子相同。當一個Dime nsio n 有多個H

4、ierarchy 時,注意 name值要唯一。hasAII布爾型的,決疋是否包含全部的成員memberallMemberName所有成員的名字,也就是總的標題,例如:allMemberName=“全部產(chǎn)品”allLevelName所有級別的名字,它會覆蓋其下所有的 Member的name和所有的_evel的name屬性的值。allMemberCaptio n例如:allMemberC aptio n=全部產(chǎn)品這個是在表示層顯示的內(nèi)容PrimaryKey通過主鍵來確定成員,該主鍵指的是成員表中的主鍵,該主鍵同時 要與Dimension里設置的foreignKey屬性對應的字段形成外鍵對應關系pr

5、imaryKeyTable如果成員表不只一個,而是多個表通過join關系形成的,那么就要通過這個屬性來指明join的這些表中,哪一個與Dime nsi on里設置的foreignKey屬性形成外鍵關系。通過該屬性來指明主表caption標題,在表示層顯示的defaultMembermemberReaderClass設定一個成員讀取器,默認情況下 Hierarchy 都是從關系型數(shù)據(jù) 庫里讀取的,如果你的數(shù)據(jù)不在 RDBMS里面的話,你可以通過自 疋義一個 member reader 來表現(xiàn)一個 Hierarchy 。Level級別,他是組成Hierarchy 的部分。屬性很多,并且是schem

6、a編寫的關鍵,使用它可以 構成一個結構樹,Level的先后順序決定了 Level在這棵樹上的的位置,最頂層的Level 位于樹的第一級,依次類推。Level的屬性如下:屬性名含義name名稱table該Level要使用的表名colu mn用上面指定的表中某一列作為該Level的關鍵字nameColu mn用來顯示的時候使用,如果不定義,那么就采用上面的colum n的值來進行顯示。oridi nalColu mn定義該Level上的成員的顯示順序,如果不指定,那么采用 column 的值。pare ntColu mn在一個有父-子關系的Hierarchy 當中,當前Level引用的是 其父成員

7、的列名。好比是一張部門表,在一張表里表現(xiàn)部門的上下 級關系,一個是主鍵,肯疋還有一個字段為連接到該主鍵的外鍵的 列名,這里的pare ntColu mn指的就是這個列名。nullPare ntValue如果當前的Level是有上下級關系(設置了pare ntColu mn 屬性),如果該Level又處于頂級,我們需要將頂級的數(shù)據(jù)取出來, 這里指的是位于頂級的父成員的值,有些數(shù)據(jù)庫不支持n ull,那么也可以使用0或-1等,這就表示頂級的成員的父ID為O或為-1。type數(shù)據(jù)類型,默認值為 string。當然還可以是 Numeric 、nteger 、Boolean 、Date 等。uniq u

8、eMembers該屬性用于優(yōu)化產(chǎn)生的SQL,如果你知道這個級別和其父級別交叉后的值或者是維度表中給定的級別所有的值是唯一的,那么就可 以設置該值為true,否則為false 。evelType該Level的類型,默認為regular(正常的),如果你在其Dimension 屬性type 里選擇了 TimeDimension 那么這里就可以 選擇 TimeYears 、TimeQuarters 、TimeMonth 、TimeWeeds、 TimeDays 。hideMemberlf在什么時候不隱藏該成員,可選的值有二個:Never、fBla nkName、IfPare ntNameapprox

9、RowCo unt該屬性可以用來提高性能,可以通過指定一個數(shù)值以減少判斷級 別、層次、維度基數(shù)的時間,該屬性在通過使用XMLA連接Mondrian很有用處。caption標題,在表示層顯示的capti on Colu mn用來顯示標題的列formatter該屬性定義了 Member.getCaptio n()方法返回的動作值,這里需要是一個實現(xiàn)了 mon dria n.olap.MemberFormatter接口的類,用來對Captio n 地值進行格式化。Join對于一個Hierarchy 來說,有兩種方式為其指定:一種是直接通過一個Table標簽指定;一種是通過Join 將若干張表連接起來指定。一旦采用Join 的話,那么就要在Hierarchy 里的primaryKeyTable 屬性指定主表。MeasureMeasure就是我們要計算的數(shù)值,操作的核心。它的屬性如下:屬性名含義name名稱aggregator要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論