




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Mondrian模式mondrian的基本模式1.什么是mondrian模式?
一個mondriann模式文件定義了一個多維數(shù)據(jù)庫.它包含一個邏輯模型(logicalmodel)、一組數(shù)據(jù)立方(consistingofcubes)、層次(hierarchies)、和成員(members),并映射到物理模型上.mondrian的基本模式邏輯模型(logicalmodel)是為了編寫MDX查詢語言而創(chuàng)建的,有如下概念:
數(shù)據(jù)立方(cubes);
維(dimensions);
層次(hierarchies);
級別(levels);
成員(members).mondrian的基本模式物理模型是所有數(shù)據(jù)的源,它們通過邏輯模型表現(xiàn)出來。典型的是星型模式,它們是由關(guān)系型數(shù)據(jù)庫中的一組表組成。下面我們還將看到一些其他映射的例子mondrian的基本模式2.模式文件Mondrian模式是定義在一個XML文件中的.demo/FoodMart.xml這個文件里包含大多數(shù)我們這里討論的結(jié)構(gòu)目前,生成模式文件的方法是使用XML編輯器手動編寫,XML語法并不復(fù)雜,因此這個任務(wù)并不像聽上去那么難注意:XML元素必須按照一定的先后順序出現(xiàn).mondrian的基本模式3.邏輯模型模式的重要組成部分為:數(shù)據(jù)立方(cubes),度量(measures),和維(dimensions):數(shù)據(jù)立方:維和度量在一個特定主題范圍內(nèi)的集合.度量:一個你感興趣的一個測量值,例如,某種產(chǎn)品的銷量.維:一個屬性,屬性的集合,用于度量的分類.例如,你希望通過產(chǎn)品的顏色、客戶的性別來區(qū)分它們的銷量。在這里,顏色和性別被稱之為維mondrian的基本模式一個簡單模式的例子<Schemaname="mySchema"><Cubename="Sales">
<Tablename="sales_fact_1997"/>
<Dimensionname="Gender"foreignKey="customer_id">
<HierarchyhasAll="true"allMemberName="AllGenders"primaryKey="customer_id">
<Tablename="customer"/>
<Levelname="Gender"column="gender"uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimensionname="Time"foreignKey="time_id">
<HierarchyhasAll="false"primaryKey="time_id">
<Tablename="time_by_day"/>
<Levelname="Year"column="the_year"type="Numeric"uniqueMembers="true"/>
<Levelname="Quarter"column="quarter"uniqueMembers="false"/>
<Levelname="Month"column="month_of_year"type="Numeric"uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Measurename="UnitSales"column="unit_sales"aggregator="sum"formatString="#,###"/>
<Measurename="StoreSales"column="store_sales"aggregator="sum"formatString="#,###.##"/>
<Measurename="StoreCost"column="store_cost"aggregator="sum"formatString="#,###.00"/>
<CalculatedMembername="Profit"dimension="Measures"formula="[Measures]. [StoreSales]-[Measures].[StoreCost]">
<CalculatedMemberPropertyname="FORMAT_STRING"value="$#,##0.00"/>
</CalculatedMember></Cube></Schema>mondrian的基本模式該模式包含一個名為“sales”的簡單數(shù)據(jù)立方(cube),它有兩個維(dimension):"Time",和"Gender",和兩個度量:"UnitSales"和"StoreSales".mondrian的基本模式我們可以根據(jù)以上模式來書寫一個如下的MDX查詢語言:SELECT{[Measures].[UnitSales],[Measures].[StoreSales]}ONCOLUMNS,
{descendants([Time].[1997].[Q1])}ONROWS
FROM[Sales]
WHERE[Gender].[F]mondrian的基本模式這個查詢引用了這個數(shù)據(jù)立方([Sales]),結(jié)果如下:下面我們將詳細的說明:mondrian的基本模式3.1數(shù)據(jù)立方(cube)一個數(shù)據(jù)立方是一些度量的維的集合.通常定義在一個事實表中,如我們在事實表"sales_fact_1997"中看到的,它保存了度量值和對維表的引用.<Cubename="Sales">
<Tablename="sales_fact_1997"/>
...
</Cube>mondrian的基本模式3.2度量(measures)這個銷售數(shù)據(jù)立方定義了兩個度量:"UnitSales"and"StoreSales".
<Measurename="UnitSales"column="unit_sales"aggregator="sum"formatString="#,###"/>
<Measurename="StoreSales"column="store_sales"aggregator="sum"formatString="#,###.##"/>mondrian的基本模式每個度量包含一個名字對應(yīng)事實表中的一個列、采用一個聚合函數(shù).聚合函數(shù)通常為“sum”,但“count”,“min”,“max”,“avg”,和“distinct-count”
也是經(jīng)常使用的。上面的度量”UnitSales”對應(yīng)事實表“sales_fact_1997”中一個名為”unit_sales”的列,使用”sum”函數(shù)聚合。mondrian的基本模式可選屬性datatype指定了單元值在Mondrian‘s緩存中的格式,和它們經(jīng)XML返回的格式.屬性datatype可以是"String","Integer","Numeric","Boolean","Date","Time",and"Timestamp"中的一個.默認為"Numeric"mondrian的基本模式一個可選的formatString屬性指定了值如何被打印。這里我們選擇銷售數(shù)量不帶小數(shù)的輸出(因為銷售數(shù)量是整數(shù)),銷售總額帶2位小數(shù).符號','和'.'是對地區(qū)敏感的,因此如果是在意大利運行,銷售總額可能會出現(xiàn)"48.123,45".mondrian的基本模式度量值不僅可以從事實表中的列中得出,它還可以使用cellreader,或一個SQL表達式來計算它的值.以下度量"PromotionSales"使用了SQL表達式來計算其值.注意:底層數(shù)據(jù)庫必須支持SQL表達式.<Measurename="PromotionSales"aggregator="sum"formatString="#,###.00"> <MeasureExpression> <SQLdialect="generic"> (casewhensales_fact_1997.promotion_id= 0then0elsesales_fact_1997.store_salesend) </SQL> </MeasureExpression></Measure>mondrian的基本模式3.3維,層次,級別(Dimensions,Hierarchies,Levels)mondrian的基本模式成員(member)一個成員(member)是指維上的一個點,是該維值集合中的一個值.如名為gender的層次結(jié)構(gòu)有兩個member:‘M’and‘F’.名為store的層級結(jié)構(gòu)有三個成員'SanFrancisco','California'和'USA'.mondrian的基本模式層次結(jié)構(gòu)(hierarchy)層次結(jié)構(gòu)(hierarchy)是為了方便分析問題而將一組member組織成的結(jié)構(gòu).例如,store層次結(jié)構(gòu)由storename,city,state,和nation組成。mondrian的基本模式級別(level)一個level是members的集合,它們到根層次(hierarchy)的距離(distance)是相同的mondrian的基本模式維(dimension)一個維(dimension)是一個層次(hierarchy)的集合,根據(jù)事實表中的列來區(qū)別mondrian的基本模式維定義的例子讓我們看如下一個維定義該維由一個單一的層次(hierarchy)組成,而這個層次則由一個名為Gender的級別(level)組成.<Dimensionname="Gender"foreignKey="customer_id">
<HierarchyhasAll="true"primaryKey="customer_id">
<Tablename="customer"/>
<Levelname="Gender"column="gender"uniqueMembers="true"/>
</Hierarchy></Dimension>mondrian的基本模式該維的值是從表customer中的gender列提取出來的.列“gender”
有兩個值:‘F’and‘M’,因此Gender維包含兩個成員:[Gender].[F]和[Gender].[M]。mondrian的基本模式3.3.1維和層次到表的映射一個維依靠一對列和數(shù)據(jù)立方進行連接,一個在事件表中,另一個在維表中。<Dimension>元素有一個外鍵(foreignKey)屬性,對應(yīng)事實表中的一個列,它通過<Hierarchy>元素中的主鍵屬性連接起來.mondrian的基本模式3.3.2‘a(chǎn)ll’
成員默認情況下,每個層次都包含一個稱之為‘(All)’的頂級別,它包含一話個名為'(All{hierarchyName})'的成員(member).該成員是該維中所有其他成員的父成員,它也是該層次的默認成員mondrian的基本模式3.3.3時間維(Timedimension)時間維有一個“TimeDimension”類型.時間維中級別(level)的類型由levelType屬性指定,有如下可選值:TimeYearsTimeQuartersTimeMonthsTimeDaysmondrian的基本模式下面是一個關(guān)于時間維的例子:<Dimensionname="Time"type="TimeDimension">
<HierarchyhasAll="true"allMemberName="AllPeriods"
primaryKey="dateid">
<Tablename="datehierarchy"/>
<Levelname="Year"column="year"uniqueMembers="true"
levelType="TimeYears"type="Numeric"/>
<Levelname="Quarter"column="quarter"uniqueMembers="false"
levelType="TimeQuarters"/>
<Levelname="Month"column="month"uniqueMembers="false"
ordinalColumn="month"nameColumn="month_name" levelType="TimeMonths“
type="Numeric"/>
<Levelname="Week"column="week_in_month"uniqueMembers="false"
levelType="TimeWeeks"/>
<Levelname="Day"column="day_in_month"uniqueMembers="false"
ordinalColumn="day_in_month"nameColumn="day_name"
levelType="TimeDays"type="Numeric"/>
</Hierarchy></Dimension>mondrian的基本模式
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 62427:2024 EN Railway applications - Compatibility between rolling stock and train detection systems
- 2025年山西省建筑安全員考試題庫
- 2025-2030年中國金屬錫產(chǎn)業(yè)運行動態(tài)與發(fā)展戰(zhàn)略分析報告
- 2025-2030年中國配電變壓器市場運營狀況及發(fā)展前景分析報告
- 2025-2030年中國船舶修理行業(yè)市場競爭狀況及發(fā)展現(xiàn)狀分析報告
- 2025-2030年中國經(jīng)編機行業(yè)運行現(xiàn)狀及發(fā)展前景分析報告
- 2025-2030年中國等離子廢氣凈化器市場發(fā)展現(xiàn)狀規(guī)劃研究報告
- 2025-2030年中國祛痘護膚品市場需求狀況及發(fā)展盈利分析報告
- 2025-2030年中國硼酸市場發(fā)展現(xiàn)狀與十三五規(guī)劃研究報告
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)上冊教案全冊
- 存款代持協(xié)議書范文模板
- 2023年部編人教版三年級《道德與法治》下冊全冊課件【全套】
- 光伏項目施工總進度計劃表(含三級)
- 七年級語文閱讀理解十篇含答案解析
- 單元知識結(jié)構(gòu)圖(排球)
- 卡通風(fēng)寒假生活PPT模板課件
- 教學(xué)課件:物流營銷
- 小兒泄瀉(小兒腹瀉?。┰\療方案
- 種子內(nèi)部構(gòu)造圖片集
- 羊水栓塞的處理)
評論
0/150
提交評論