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)

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

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

(0)
上一篇 2025年7月27日 上午11:15
下一篇 2025年7月27日 上午11:43


相关推荐

  • openbmc开发28:fru配置和测试

    openbmc开发28:fru配置和测试在 openbmc 开发 23 添加 fru 信息到 ipmi 中说明了如何将 fru 信息添加到 ipmi 中 本文将讲述如何生成 fru 以及 fru 信息获取展示以及修改等 1yaml 配置文件转换成 cpp 在软件包下有一个 scripts 文件夹 这里边是 python 脚本 模板 示例 yaml 文件以及使用说明 本内容介绍 fru 的 yaml 文件 在 configure 阶段 通过 autoconf 工具 解析 configure ac 以及 Makefile am 生成 Makefile 文件 在编译阶段执行 fru gen py 的 python 脚本 根据 fr

    2026年3月18日
    2
  • Mac中vim永久显示行号「建议收藏」

    步骤1:cp/usr/share/vim/vimrc~/.vimrc 先复制一份vim配置模板到个人目录下步骤2:  vim ~/.vimrc 再进入insert模式,在最后加二行 syntaxon setnu!最后wq保存再次进入到vim就会永久显示行号,不用每次都setnu!…

    2022年4月16日
    229
  • 点积应用-求两个向量夹角

    点积应用-求两个向量夹角之前 由点积求两条直线的夹角 只知道会用 不知道原量 今天看计算机图形学 才知道其原量 待记录如下 nbsp nbsp 点积最重要的应用时计算两个向量的夹角 或者两条直线的夹角 图给出了二维的情况 其中向量 b 和向量 c 与 x 轴的夹角分别为 B C 从基本三角函数可得 nbsp nbsp b b

    2026年3月26日
    2
  • webstorm 2021 激活码[在线序列号]

    webstorm 2021 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    102
  • 背包问题九讲笔记_完全背包[通俗易懂]

    背包问题九讲笔记_完全背包[通俗易懂]摘自TianyiCui童鞋的《背包问题九讲》,稍作修改,方便理解。本文包含的内容:———————————————完全背包问题描述已知:有一个容量为V的背包和N件物品,第i件物品的重量是weight[i],收益是cost[i]。条件:每种物品都有无限件,能放多少就放多少。问题:在不超

    2022年7月13日
    16
  • 我的第一本 Cursor 小册上线了!

    我的第一本 Cursor 小册上线了!

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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