SSAS(2)_SSA全称

SSAS(2)_SSA全称上1篇通过书中实验练习,开发了一个SSASCube。这里,基于这个Cube,再深入小结、试验有关SSASCube开发的扩展知识:维度属性间的关系及维度的层次结构(Hierarchies)维度与度量的关系多维数据集(Cube)KPI的实现多维数据集(Cube)行为(Action)的实现,例如:钻取多维数据集(Cube)的本地化与视图多维表达式(MDX)的应用书名:MCTSSel

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

 上1篇通过书中实验练习,开发了一个SSAS Cube。这里,基于这个Cube,再深入小结、试验有关SSAS Cube开发的扩展知识:

  • 维度属性间的关系及维度的层次结构(Hierarchies
  • 维度与度量的关系
  • 多维数据集(Cube)KPI的实现
  • 多维数据集(Cube)行为(Action)的实现,例如:钻取
  • 多维数据集(Cube)的本地化与视图
  • 多维表达式(MDX)的应用

书名:MCTS Self-Paced TrainingKit(Exam 70-448): Microsoft SQL Server 2008 – Business Intelligence Development and Maintenance

 

第六章 扩展SSAS Cubes(多维数据集)
课程1:定义用户层次结构(Hierarchies)与维度关系
1 维度的主要作用: 提供用户通过不同主题分析数据,以及下钻(drill down)、上卷(roll up)、分类(categorize)、筛选(filter)、汇总(summarize)、执行其他数据操作。
2 定义属性关系(Atrribute Relationships)
1) 一个SSAS 维度(dimension)的数据来源于一个或多个维度表,若维度基于星型结构(Star),其数据源是个单一的维度表,基于雪花结构(snowflake),其数据源跨多个维度表。
2)区别于关系型数据库(以行与列二维形式存储数据),多维数据模型支持数据的层次结构,例如,由年、季度、月份属性组成的层次结构,并由属性间的关系决定层次。
3)维度属性关系分为1:1(1对1),M:1(多对1), M:M(多对多)。

3 创建与修改自定义维度层次结构(Hierarchies)

4 维度与度量组的关联

1)当添加Cube一个维度时,该维度所关联的度量组,与DSV中定义的表关系有关。使用“Dimension Usage”查看或修改维度与度量组的关系。

2)维度与度量组的关系, regular,fact,referenced,many to many, data mining

5 动手试验:创建、修改维度层次结构

练习1:定义属性关系

1)打开Date维度,单击“属性关系”页面,右击“Month Name”属性,新建属性关系,相关联的属性选“Calendar Quarter”,关系类型选“Rigid”,建立“Month Name”属性与“Calendar Quarter”属性多对一的关系。

2)同理,建立“Month Name”与“Fiscal Quarter”属性多对一的关系。

3)同理,建立“Calendar Quarter”与“Calendar Year”属性多对一的关系。

4)同理,建立“Fiscal Quarter”与“Fiscal Year”属性多对一的关系。

【软件】SSAS开发与维护(2)

5) 打开Product维度,由于是雪花结构的维度,下列属性关系(多对一)自动建立。【软件】SSAS开发与维护(2)

6)打开Sales Territory维度,建立“Sales Terriotry Country”与“Sales Terriotry group”属性多对一的关系。

 

练习2:定义自定义层次结构

1)打开Date维度,在“Dimension Structure”页面,通过拖拽属性的方式,创建“Calendar”层次结构,该层次结构的属性及顺序为Calendar Year,Calendar Quarter,Month Name,Date。

2)同理,创建“Fiscal”层次结构,该层次结构的属性及顺序为Fiscal Year,Fiscal Quarter,Month Name,Date。

【软件】SSAS开发与维护(2)
3) 保存,部署。创建好属性层次结构的效果:
【软件】SSAS开发与维护(2)

练习3:查看、修改维度关系(Dimension Usage)

1) 事实表也可作为维度使用,打开Adventure Works DW2008 DSV,FactInternetSales事实表中添加一个字段“LineItemDescription”,LineItemDescription = convert(char(10),SalesOrderNumber) + ‘Line ‘ + convert(char(4),SalesOrderLineNumber)。

2)根据向导,新增一个名为Internet Sales Order Details维度:

a. 选现有表

b. 数据源信息,选“FactInternetSales”表,Key column默认Sales Order Number,Name Column选“LineItemDescription”。

b. 相关表选择页面,清空所有相关的表的选择。

c. 维度属性选择页面,只选“Sales Order Number”。

3)将“Internet Sales Order Details”维度添加至现有Cube中。

4)打开Adventure Works Cube,在“Dimension Usage”页面中,查看维度与度量的关系。

5)删除一个冗余的Date维度,将Date(Order Date)维度重命名为Date。

【软件】SSAS开发与维护(2) 

5)设置Date维度与Currency Rate度量的关联,关系类型:Regular,由键值连接。保存,部署。

【软件】SSAS开发与维护(2)

 

程2:创建KPIs,行为(actions),翻译与视图(perspectives)
1 理解KPI
在SSAS中,关键性能指标(KPI)是个扩展的度量,主要有4个属性,值(value),目标(goal),状态(status)和趋势(trend)。其中值是必填,其余是可选。
1)值, 表示当前KPI的值,属性通常映射到常规或计算过的度量。
2)目标,定义KPI的目标值,可以是个固定的数值,一个常规用作表示目标值的度量或是计算过的度量。
3)状态,标识如何比较KPI值和目标值,表达式返回-1,0,1,-1为差绩效,0为可接受的绩效,1为好绩效。
4)趋势:标识KPI值的变化趋势,表达式返回[-1,1]。

2 创建关键性能指标KPIs

3 浏览KPIs

有多种方式显示SSAS的KPIs,最简便方法,使用BIDS内置的KPI浏览器,也可以在Excel,SSRS中使用,或是SSMS中应用MDX语句\函数查询KPI的属性值。

4 执行行为(Actions)

1)行为(Actions)的主要作用是扩展Cube的功能,例如:下钻至详细信息。此外,书中提及Excel 2007及以上版本支持这个功能,SSRS不支持,具体没有检验过。

2)行为的类别

a. 常规(regular)行为:dataset,proprietary,rowset,statement,url(默认)

b. 钻取(drillthrouh)行为

c. 报表行为(reporting)

5 通过翻译(Translations)本地化Cubes

6 Cube的视图(perspectives)

7 动手试验:创建Cube KPIs,行为,翻译和视图

练习1:实现经销商的销售KPI

打开Adventrue Works Cube, KPIs页面,新建一个名为“Reseller Sales”的KPI。

1)关联的度量组(associated measure group)选Reseller Sales。

2)KPI值表达式(value Expression) = [Measures].[Reseller Sales Amount]

3) KPI目标表达式(Goad Expression) =

1.40*([Due Date].[Calendar].PrevMember,[Measures].[Reseller Sales Amount])

即目标为当前时间前一个成员销售额的140%

4)状态表达式(Status)

case

when KpiValue(“Reseller Sales”)/KpiGoal(“Reseller Sales”) >= 1 then 1

when KpiValue(“Reseller Sales”)/KpiGoal(“Reseller Sales”) <1 and KpiValue(“Reseller Sales”)/KpiGoal(“Reseller Sales”) >=.85 then 0

else -1

end

5)趋势表达式(Trend)

([Measures].[Reseller Sales Amount]- ([Date].[Calendar].PrevMember,[Measures].[Reseller Sales Amount]))/[Measures].[Reseller Sales Amount]

【软件】SSAS开发与维护(2)

6)保存,部署,在KPI浏览器中,通过筛选看某个时间reseller sales的销售额,状态和趋势。

【软件】SSAS开发与维护(2)

练习2:实现一个钻取行为

1)打开Adventrue Works Cube,行为(Actions)页面,新建“New Drillthrough Action”(钻取行为),命名为“Reseller Details”。

2)行为目标–>度量组成员(measure group members)选reseller sales

3)为限制显示的记录行数,条件(Condition)设

([Date].[Date].currentMember is [Date].[Date].[All])= false

即当选到日期时触发这个行为。

4)钻取的列名,选取Product维度中Product,Color,Model Name属性,选取Date维度中Date属性,以及Reseller Sales中所有度量。实际操作到这步,Product维度与Reseller Sales的关系需要配置一下。

5)为限制显示行数,最大行设100。

【软件】SSAS开发与维护(2)

6)保存,部署,在浏览器中,将Date维度中Calendar层次结构及Reseller Sales Amount 拖入pivot,展开至日期级别,右击这个日期的销售额,菜单中出现“Reseller Details”选项(图一),点击查看这一天的详细信息(图二)。

图一:

【软件】SSAS开发与维护(2)

图二:

【软件】SSAS开发与维护(2)

 

练习3:翻译一个维度

1)打开Product维度,翻译(Translations)页面。新建翻译,选择西班牙语言Spanish(Spain)。

2)在新增的Spanish(Spain)列中,维度名重命名为西班牙语Producto,Product属性与DimProduct表中SpanishProductName绑定。

【软件】SSAS开发与维护(2)

3)保存,部署,在浏览器中,选语言Spanish(Spain),产品名显示西班牙语。做到这步,老是联想到ToysIII中西班牙语言状态的巴斯光年,: )。

【软件】SSAS开发与维护(2)

练习4:设置Cube的视图(perspectives)

过于简单,略


 

课程3:使用MDX创建计算和查询

1 MDX((Multi-Demensional expression)多维表达式语法(SSAS)

1) 元组(Tuples)

引用一个元组中一个度量成员,可以直接使用成员名或加“&”符号,例如:[Product].[Product].[Mountain-100],[Product].[Product].&10。

2)集合(Sets)

3)基本MDX查询(Select)语句

Select <row_axis, mdx_set,> on Columns,

<column_axis, mdx_set,> on Rows

From <from_clause, mdx_name,>

Where <where_clause, mdx_set,>

4)计算成员(with)语句(略)

5)MDX函数

– CurrentMember,PrevMember,Members,Parent,Children

2 创建计算成员(calculated members)

3 定义命名集合(named sets)

4 动手试验

练习1:在SSMS中,创建和执行MDX查询语句

1)打开SSMS,打开Template Explorer视图(ctrl + alt + T),单击Analysis Server,展开MDX–>Queries,双击Basic query template,生成select基本语句。连接本地(localhost)SSAS Server。选择“TK 70-448 SSAS Project”数据库。

2)MDX查询语句编辑如下:

Select [Measures].[Internet Sales Amount] on Columns,

[Product].[Product Category].members on Rows

From [Adventure Works]

Where [Date].[Calendar].[Calendar Year].&[2008]

3)执行结果:

【软件】SSAS开发与维护(2)

练习2:在BDIS中定义一个计算成员

1)打开Adventure Works Cube,计算(calculations)页面,新建一个名为Sales Amount的计算成员,配置如下属性:

Name = Sales Amount
Expression = [Measures].[Internet Sales Amount] + [Measures].[Reseller Sales Amount]
Format String = currency

2)单击calculation属性,calculation name选[Measures].[Sales Amount],Display Foler输入Sales Summary

3)保存,部署,在浏览器中的效果:此外,OLAP只保存计算成员的定义,非数据,所以Cube大小不会增加。

【软件】SSAS开发与维护(2)

 

练习3:定义一个命名集合(named Set)

1)打开Adventure Works Cube,计算(calculations)页面,新建一个名为Top 50 Most Profitable Customers

的命名集合。

表达式 =

TopCount((existing[Customer].[Customer].[Customer].Members),50,[Measures].[Internet Sales Amount])

2)保存,部署,在浏览器中查看效果:显示最佳50个客户。此外,这个集合也可以在Excel 2007及以上版本中使用。

【软件】SSAS开发与维护(2)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/210135.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号