版權(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語法并不復雜,因此這個任務并不像聽上去那么難注意: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的基本模式每個度量包含一個名字對應事實表中的一個列、采用一個聚合函數(shù).聚合函數(shù)通常為“sum”,但“count”,“min”,“max”,“avg”,和“distinct-count”
也是經(jīng)常使用的。上面的度量”UnitSales”對應事實表“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)屬性,對應事實表中的一個列,它通過<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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 燃氣服務質(zhì)量承諾書模板
- 電動工具操作安全意識
- 煙草物流配送:天價煙管理辦法
- 信息技術(shù)票據(jù)處理流程
- 航運業(yè)務員聘用合同
- 企業(yè)并購招投標委托協(xié)議
- 咨詢服務廣告施工合同文本格式
- 餐飲業(yè)收款收據(jù)管理辦法
- 銀行業(yè)資產(chǎn)風險管理
- 校園廣播系統(tǒng)升級:學校施工合同
- 油漆工實際操作考試試題
- 山西省晉中市2022-2023學年四年級下學期期末學業(yè)水平監(jiān)測英語試題
- 2023年樁基項目經(jīng)理年度總結(jié)及年后展望
- 企業(yè)社會責任與數(shù)字時代的適應性
- 巴以沖突完整
- Unit5PartALetsspellPartBCLetscheck-Storytime教學設(shè)計四年級英語上冊(人教PEP版)
- 《美育》教學大綱
- 苗木采購投標方案(技術(shù)標)
- 垃圾分類督導服務投標方案(技術(shù)方案)
- 2023秋期國開電大本科《法律文書》在線形考(第一至五次考核形考任務)試題及答案
- 2023-2024學年廣西貴港市六年級數(shù)學第一學期期末學業(yè)質(zhì)量監(jiān)測模擬試題含答案
評論
0/150
提交評論