标签:
1 cube是SSAS的核心对象,其创建过程,比较简单。
1.1,选中一个Fact Table
Measure Group是从一个Fact Table中产生的,Measure Group的数据来源于Fact Table,但是此Measure Group并不是关系型DB中的Table,Measure Group在SSAS中被赋予更多新的含义。
1.2,Select Measures
一个Measure Group可以有多个Measure,一个Measure代表的是一个数值化的指标。
系统自动添加了一个Measure,FactTableName+Count,实际上对Measure Group进行count运算。
1.3,Select dimension
为Measure Group选择dimension,系统是根据外键关系为Measure Group选择Dimension的。
Measure Group和Dimension之间的关系,在Dimension Usage选项卡中能够进行配置,SSAS非常只能,能够通过外键关系,自动寻找跟FactTable有外键关系的维度,添加到Cube中,并自动设置Dimension Usage的Relationship type。
可以不选择任何维度,手动在Dimension Usage选项卡中进行配置。
1.4, 生成cube,查看cube的DataSourceView
1.5 查看cube的Measures和Dimensions
在DimProduct中,Color是用户定义的成员属性,其Icon和其他属性的Icon不同。
2,Cube structure选项卡
2.1 修改Measure
可以为Measure Group新增Measure,或删除Measure Group的Measure。
点击New Measure,创建一个新的Measure: Fact Product Inventory Count ,Usage是count of rows,值是行的个数。
2.2 在cube的Browser选项卡中,拖入Filter condition,Measure Fact Product Inventory Count的值是125,说明 Fact Product Inventory Count是查询出来的数据集的行数,而Unit Cost是查询结果集的聚合。
2.3 通过点击 Design Mode来查看MDX语句
这是个嵌套的MDX语句,看起来十分复杂,实际上,可以简化
SELECT NON EMPTY { [Measures].[Fact Product Inventory Count], [Measures].[Unit Cost] } ON COLUMNS FROM ( SELECT ( { [Dim Date].[Date Hierarchy].[Date Key].&[20050702] } ) ON COLUMNS FROM ( SELECT ( { [Dim Date].[Month Number Of Year].&[7] } ) ON COLUMNS FROM ( SELECT ( { [Dim Product].[Product Hierarchy].[Product Category Key].&[1] } ) ON COLUMNS FROM [Adventure Works DW2012] ) ) ) WHERE ( [Dim Product].[Product Hierarchy].[Product Category Key].&[1], [Dim Date].[Month Number Of Year].&[7], [Dim Date].[Date Hierarchy].[Date Key].&[20050702] ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
使用Where子句简化,写法简单
SELECT NON EMPTY { [Measures].[Fact Product Inventory Count], [Measures].[Unit Cost] } ON COLUMNS FROM [Adventure Works DW2012] WHERE ( [Dim Product].[Product Hierarchy].[Product Category Key].&[1], [Dim Date].[Month Number Of Year].&[7], [Dim Date].[Date Hierarchy].[Date Key].&[20050702] )
使用嵌套查询简化,这种写法不好理解,只需要记住,select查询的思路是使用切片切割cube,将cube中不符合切片条件的成员都剔除掉,最后计算Measure的聚合值就是结果值。
SELECT NON EMPTY { [Measures].[Fact Product Inventory Count], [Measures].[Unit Cost] } ON COLUMNS FROM ( SELECT ( { [Dim Date].[Date Hierarchy].[Date Key].&[20050702] } ) ON COLUMNS FROM ( SELECT ( { [Dim Date].[Month Number Of Year].&[7] } ) ON COLUMNS FROM ( SELECT ( { [Dim Product].[Product Hierarchy].[Product Category Key].&[1] } ) ON COLUMNS FROM [Adventure Works DW2012] ) ) )
2.4 使用Mdx函数来做一个等价的查询, Fact Product Inventory Count是一个Measure,这个Measure实际上是用的Count函数,由于DimDate使用的叶级成员,DateKey=20050702,实际上统计的是ProductKey的个数,使用count(existing [Dim Product].[Product Hierarchy].[Product Key].Members)来模拟。
with member [Measures].FactProductCount as count(existing [Dim Product].[Product Hierarchy].[Product Key].Members) SELECT NON EMPTY { [Measures].[Fact Product Inventory Count],[Measures].FactProductCount, [Measures].[Unit Cost] } ON COLUMNS from [Adventure Works DW2012] where {( [Dim Product].[Product Hierarchy].[Product Category Key].&[1], [Dim Date].[Month Number Of Year].&[7], [Dim Date].[Date Hierarchy].[Date Key].&[20050702] )}
3 Dimension Usage选项卡
维度用法选项卡,是指定义Measure Group和Dimension的关系。
Regular关系是指:Measure Group和Dimension 之间存在外键关系,Dimension Table提供主键,Fact Table 提供 Foreign Key,Dimension的PK是唯一的,需要显示设置的是Fact Table的FK。
3.1 增加cube的Dimension,在空白处点击右键,弹出菜单,Add Cube Dimension,为Measure Group增加cube。
3.2 定义Measure Group和Dimension的Relationship
标签:
原文地址:http://www.cnblogs.com/ljhdo/p/4603013.html