modrian workbench

[size=xx-large][size=x-large]Mondrian Schema Workbench是个能可视创建和测试cube schemas文件的工具。
通过Schema Workbench 可以了解schemas的全部元素,属性。便于在开发中,更好的配置schemas,让应用系统更完善。介绍学习总结的UIA项目中常用的和一些特殊(可选)的元素或属性。
Workbench 的操作对象是Schema文件。Schema文件是个树状结构。

我感觉使用Schema Workbench的好处是除了能可视配置外,能知道各元素的子元素,及元素的属性,相关配置方法等,有简单的描述。


一个schemas文件可以配置多个cube。
Schema定义了一个多维的数据库。由cubes ,度量,维度等组成一个逻辑的模型。
常用的元素:
cube,dimention,measure,
几个特殊的属性

一个简单的schema.
<Schema>
<Cube name="Sales">
<Table name="sales_fact_1997"/>
<Dimension name="Gender" foreignKey="customer_id">
<Hierarchy hasAll="true" allMemberName="All Genders" primaryKey="customer_id">
<Table name="customer"/>
<Level name="Gender" column="gender" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Time" foreignKey="time_id">
<Hierarchy hasAll="false" primaryKey="time_id">
<Table name="time_by_day"/>
<Level name="Year" column="the_year" type="Numeric" uniqueMembers="true"/>
<Level name="Quarter" column="quarter" uniqueMembers="false"/>
<Level name="Month" column="month_of_year" type="Numeric" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Measure name="Unit Sales" column="unit_sales" aggregator="sum"
formatString="#,###"/>
<Measure name="Store Sales" column="store_sales" aggregator="sum"
formatString="#,###.##"/>
<CalculatedMember name="Profit" dimension="Measures" formula="[Measures].
[Store Sales]-[Measures].[Store Cost]">
<CalculatedMemberProperty name="FORMAT_STRING" value="$#,##0.00"/>
</CalculatedMember>
</Cube>
</Schema>
1. “formatString”可选属性,定义值的显示格式。设置类似VB语言。
2. “caption”属性自定义元素的显示值。调 Member.getCaption()可以获得caption的值。

另外<Hierarchy hasAll="true" allMemberName="所有日期" primaryKey="TIME_ID">
3.
Level 元素 column ordinalColumn nameColumn三个属性,实现排序。

4.度量可以不从数据库表的列中取数据,可以使用SQL表达式的值。可以更灵活组织数据
<Measure name="Promotion Sales" aggregator="sum"
formatString="#,###.00">
<MeasureExpression>
<SQL dialect="generic">
(case when sales_fact_1997.promotion_id =
0 then 0 else sales_fact_1997.store_sales end)
</SQL>
</MeasureExpression>
</Measure>
5.
可以创建度量并且通过MDX formula而不是从数据库表列获取值。
<CalculatedMember name="Profit" dimension="Measures">
<Formula>[Measures].[Store Sales] - [Measures].[Store Cost]</Formula>
<CalculatedMemberProperty name="FORMAT_STRING" value="$#,##0.00"/>
</CalculatedMember>
6.一个维度多种层次结构
<Dimension name="Time" foreignKey="time_id">
<Hierarchy hasAll="false" primaryKey="time_id">
<Table name="time_by_day"/>
<Level name="Year" column="the_year" type="Numeric"
uniqueMembers="true"/>
<Level name="Quarter" column="quarter"
uniqueMembers="false"/>
<Level name="Month" column="month_of_year"
type="Numeric" uniqueMembers="false"/>
</Hierarchy>
<Hierarchy name="Time Weekly" hasAll="false"
primaryKey="time_id">
<Table name="time_by_week"/>
<Level name="Year" column="the_year" type="Numeric"
uniqueMembers="true"/>
<Level name="Week" column="week"
uniqueMembers="false"/>
<Level name="Day" column="day_of_week" type="String"
uniqueMembers="false"/>
</Hierarchy>
</Dimension>
如上,实现同一个维度多个层次结构。
[/size][/size]

你可能感兴趣的:(数据结构,sql,vb)