没有合适的资源?快使用搜索试试~ 我知道了~
SQL SERVER数据库 Sqlserver 2008 SSAS使用手册 共66页.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 60 浏览量
2022-05-29
22:16:49
上传
评论
收藏 2.65MB PDF 举报
温馨提示
试读
66页
SQL SERVER数据库 Sqlserver 2008 SSAS使用手册 共66页.pdf
资源推荐
资源详情
资源评论
第 1 页 共 66 页
SQL SERVER 2008 SSAS 使用手册
1 BI、OLAP、Analysis Services
1.1 BI 概念简介
BI 系统负责从多个数据源中搜集数据,并将这些数据进行必要的转换后存储到一个统一的存储介质中,并提供给使用
者将这些数据转换为使用者所需信息的功能。
一个 BI 系统通常包括 5 层:
1. 数据源层(data source layer):由每日的操作数据、文本数据、Excel 表格、Access 数据库、其他外部数据组成;
2. 数据转换层(data transformation layer):转换数据源层为统一的连续数据,并放入数据存储层;
3. 数据存储和提取层(data storage and retrieval layer):数据仓库;
4. 分析层(analytical layer):多维度的 OLAP 数据库,为决策者提供分析依据;
5. 展示层(presentation layer):报表和可视化工具。
与目前的 RDC 系统对应,BSERP 数据库便相当于一个数据源层,它提供实时的事务数据。一个由 SSIS(SQL Server
Integration Services)提供的 ETL 功能可以将业务数据库中的操作性数据通过一定的规则转换为统一的连续数据,它提供
的便是一个数据转换层的功能。通过 SSIS 转换后的数据,存储到 DW_RDC 数据仓库中。DW_RDC 是一个关系型的数据仓库,
包含两种类型的表:维度表和事实表。它提供一个数据存储和提取的功能,但是这里的数据仍然不是多维数据,所以我们需
要将这些数据通过 SSAS(SQL Server Analysis Services)转换成多维数据并提供分析功能,这些多维数据,存储在 BI_RDC
中。最后,我们将 BI_RDC 的数据通过 Analyzer 展示工具进行多维可视化的展现。
1.2 OLAP、Analysis Services
由 SSAS 生成的 BI_RDC 是一个 OLAP(On-Line Analysis Process)多维数据库。OLAP 是与 OLTP(On-Line Transaction
Process)相对应的概念,OLTP 是传统的关系型数据库的主要应用,主要是基本的、日常的事物处理;OLAP 是数据仓库系统
的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。一些在 BI 系统中的重要概念,也是从
OLAP 中的概念延伸过来的,比如:属性、层次结构、维度,度量值等。
Integration Services、Analysis Services 以及 Reporting Services 是 SQL Server 提供的 BI 工具,分别提供 BI 系
统的数据转换层、分析层和展示层的功能。可以看到使用微软的 SQL SERVER 产品可以完全实现 BI 系统中能够提供的所有
功能。其中,Microsoft SQL Server 2005 Analysis Services 为商业智能应用程序提供了联机分析处理 (OLAP) 功能和数
据挖掘功能。Analysis Services 支持 OLAP,能够设计、创建和管理包含从其他数据源(如,关系型数据库)聚合来的数
据的多维结构。对于数据挖掘应用程序,Analysis Services 使您能够通过使用各种各样的业界标准数据挖掘算法,设计、
创建和查看从其他数据源构造的数据挖掘模型。
1.3 使用 SSAS 需要了解的概念
1.3.1 Cube、Dimension 和 Measure
Cube 就像一个坐标系,每一个 Dimension 代表一个坐标轴,要想得到一个点,就必须在每一个坐标轴上取的一个值,
而这个点就是 Cube 中的 Cell。见下图(来源于http://msdn2.microsoft.com/zh-cn/library/ms144884.aspx):
第 2 页 共 66 页
上图很好的说明了 Cube、Dimension、Measure 之间的关系。这里需要注意的是:其实 Measure 也属于一个维度,即
Measures Dimension。所有的 Measure 构成了 Measures Dimension,这个维度的只有一个 Hierarchy,而且这个 Hierarchy
只有一个层次(Level)。
1.3.2 Hierarchy、Level 和 Member
在上节的图中,每个 Dimension 只有一个 Hierarchy,而在实际的环境中,一个 Dimension 往往有很多 Hierarchy。因
此,上一小节中关于“Cube 就象一个坐标系,每一个 Dimension 代表一个坐标轴”这句话其实不够准确,准确的说应该是每
一个 Hierarchy 代表了一个坐标轴,而 Hierarchy 中每一个 Member 代表了坐标轴上的一个值。下图以时间维度为例展示了
Dimension 的内部结构。
2 UDM 统一维度模型
希望直接从诸如企业资源规划 (ERP) 数据库这样的数据源中检索信息的用户会面临几个重要挑战:
此类数据源的内容通常非常难于理解,因为它们的设计初衷是针对系统和开发人员,而不是用户。
第 3 页 共 66 页
用户所关心的信息通常分布在多个异类数据源中。即使只是使用其他关系数据库,用户也必须了解每个数据库的详
细信息(例如,所用的 SQL 方言)。更糟糕的是,这些数据源的类型可能各不相同,不仅包括关系数据库,而且还包
括文件和 Web 服务。
尽管许多数据源都倾向于包含大量事务级别的详细信息,但是,支持业务决策制订所需的查询经常涉及汇总信息和
聚合信息。随着数据量的增加,最终用户为进行交互式分析而检索此类汇总值所需的时间也会过长。
业务规则通常并不封装在数据源中。用户需要自行理解数据。
统一维度模型 (UDM) 的作用是在用户和数据源之间搭建一座桥梁。UDM 构造于一个或多个物理数据源之上。用户使用
多种客户端工具(例如,Microsoft Excel)向 UDM 发出查询。
即使 UDM 只是作为数据源上的瘦层来构造,对于最终用户而言也有益处:更简单、更容易理解的数据模型,与异构的
后端数据源相隔离,并且汇总类型查询的性能也有所提高。在某些方案中,可以自动构造简单的 UDM。如果在构造 UDM 的
过程中再增加一些投资,则可以从该模型提供的丰富元数据中获得其他收益。
UDM 具有下列优点:
极大地丰富了用户模型。
提供了支持交互式分析的高性能查询,即使是数据量非常大也不例外。
捕获模型中的业务规则,以支持更丰富的分析。
支持“关闭循环”:允许用户按照所看到的数据进行操作。
2.1 基本的最终用户模型
现在考虑一个示例,在该示例中,用户希望比较不同时间段的销售额和配额。
销售额数据存储在主数据库“销售额和库存”,其中包含许多其他的表。甚至在标识出了相关表之后,该用户也可能发现
单个实体(例如,产品)的数据分散在很多表中。由于引用完整性由应用程序逻辑强制实施,因此没有定义这些表之间的关
系。销售配额存储在另一个应用程序的数据库中。这两个数据库都不会捕获任何业务规则,例如以下事实:为比较配额和实
际销售额,必须使用订单发货日期,而不能使用与订单有关的其他日期(订单日期、订单到期日期、计划日期等)。
2.1.1 直接访问数据源
首先考虑用户直接访问数据源的情况。下图显示了一个使用示例工具构造的查询示例。
第 4 页 共 66 页
到目前为止,用户已经完成了大量的工作。其中包括:
从大量名称隐晦的表中筛查出所需的表。
确定了应将哪些列用于联接表。
从很多包含大量针对系统的详细信息的表中,选择那些包含所需详细信息的列。例如,在存储了有关产品类别的详
细信息的表中的 11 个列中,只有两个名称列与用户实际相关。
现在用户专注于定义应当在哪里使用“外部”联接与“内部”联接,以及如何对详细信息进行分组以提供所需的聚合。
然而,用户还要面对更艰巨的任务。例如,用户如何联接来自其他数据源的数据?即使其中的一个数据库支持分布式查
询,大多数用户仍然无法构造所需查询,而且在此任务中工具可能无法向用户提供足够的支持。代码示例显示了一个查询外
部数据的方法。
SELECT Quotas.QuotaAmount, Quotas.EmployeeId, ?
FROM OPENROWSET('SQLOLEDB','seattle1';
'Sales';'MyPass',
'SELECT * FROM Forecasts.dbo.SalesQuota?) As Quotas
如果使用其他数据源(如 Web 服务),则在确定如何执行正确的远程调用,然后又如何处理返回的 XML 以将其与其他数
据合并时,用户将遇到另一个巨大的障碍。
最后还有一点:对一个查询执行此项工作之后,进行下一个查询时,此工作的很大一部分又将重复一遍。
2.1.2 使用 UDM 访问数据源
与前面的情形相反,以下关系图例示了如何为访问某个基于这些数据源而构造的简单 UDM 的用户生成查询。
第 5 页 共 66 页
Microsoft SQL Server 2005 附带的开发工具提供了此示例中显示的设计界面。但可以使用支持 UDM 的任何接口,包
括客户端工具,例如,Office Excel 或 Office Web 组件 (OWC),或很多报表和分析工具中的一种。
左边的树视图显示了 UDM 的内容。注意该示例中的以下几点:
只为用户显示面向用户的相关项目。系统列(例如,行 GUID 或最后修改日期)是不可见的。
所用的名称为友好名称,而没有使用基础数据库中采用的面向开发人员的命名约定。
UDM 还将每个业务实体的所有属性分组为单独的“维度”,如产品或雇员。因此,客户端便可引用该示例中的“产品颜色”、
“子类别”以及“类别”,而无需在所涉及的大量表之间显式执行联接。
这些表示事务值或度量值的列随后将显示为“度量值”。例如,用户通常都喜欢对销售量或销售配额之类的列进行聚合。
这种将数据显示为“度量值”和“维度”的方法称为“维度建模”。
右边的关系图显示了当前查询中包含的元素。在这种情况下,为了请求“按产品类别分类的销售额和配额”,用户只需通
过从树视图中将三个相关项目拖动到右侧设计界面中,即可定义查询。用户不必指定实际访问两个不同数据源时所需的详细
信息,或在很多相关表之间执行正确的联接。
模型定义了简单的默认格式:例如,使用货币符号。还可以定义更复杂的格式,包括条件格式,例如,如果某个值低于
特定的阈值,则以红色显示该值。
同一模型可支持多种查询。例如,只需通过拖动雇员维度中的一个属性便可按雇员对结果进行细分。
2.2 扩展基本模型
虽然上面的示例阐释了即使简单的 UDM 也可以显著地简化基本的数据浏览。但是,当用户访问数据时,还会遇到更多
的挑战。例如:
支持来自不同用户的众多不同类型查询的 UDM 的规模可能会变得非常庞大。如何才能确保处理特定任务的用户不会受
到与之无关的信息的干扰?
如何满足全球用户希望看到以其自己的母语显示的报表的要求?
如何才能简化所有与时间相关的常见问题?例如,用户可能希望显示与上一年同期进行比较的销售额。
本部分探讨了上述部分问题,说明 UDM 如何支持对基本模型进行扩展以帮助用户实现更高级的数据浏览操作。
2.2.1 层次结构
虽然将一个实体的所有属性合并为一个维度可以显著简化用户的模型,但是,还有一些属性关系是用简单列表所无法表
达的。在前面的示例中,“类别”、“子类别”以及 SKU 定义了其中一种可用于组织产品的层次结构。由于用户经常希望基于
此类层次结构执行分析,因此 UDM 允许定义此类层次结构。例如,按“类别”查看总计之后,用户可能要深入到“子类别”,
剩余65页未读,继续阅读
资源评论
passionSnail
- 粉丝: 408
- 资源: 5624
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
- Linux线程同步机制深度解析与实用指南.zip
- PTA题库C语言解题策略与实战.rar
- SVPWM控制技术的simulink建模与仿真【包括simulink模型,参考文献,操作步骤】
- AI高清修复图片画质易语言易语言源码易语言填表
- 映射窗口.ec易语言易语言模块CPU占用0%游戏监控窗口监控
- 易语言 361窗口模块高效、便捷、自封装、自用
- 易语言 窗口排列 模块 ,简单、高效、体积小
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功