Analysis Services 在服务器部署模式下运行,确定不同类型的 Analysis Services 模型使用的内存体系结构和运行时环境。 服务器模式在安装过程中确定。 多维和数据挖掘模式 支持传统的 OLAP 和数据挖掘。 表格模式 支持表格模型。 SharePoint 集成模式 是指作为 PowerPivot for SharePoint 安装的 Analysis Services 实例,该实例用于在工作簿内加载和查询 Excel 或 PowerPivot 数据模型。
本主题介绍在多维和数据挖掘模式下运行时 Analysis Services 的基本体系结构。 有关其他模式的详细信息,请参阅表格建模(SSAS 表格)以及比较表格和多维解决方案(SSAS)。
基本体系结构
Analysis Services 实例可以包含多个数据库,数据库可以同时具有 OLAP 对象和数据挖掘对象。 应用程序连接到 Analysis Services 的指定实例和指定的数据库。 服务器计算机可以托管 Analysis Services 的多个实例。 Analysis Services 的实例命名为“<ServerName>\<InstanceName>”。 下图显示了 Analysis Services 对象之间的所有提及关系。
基本类是生成多维数据集所需的最小对象集。 此最小对象集是维度、度量值组和分区。 聚合是可选的。
维度是从属性和层次结构生成的。 层次结构由一组有序的属性构成,其中集的每个属性对应于层次结构中的级别。
多维数据集是从维度和度量值组生成的。 多维数据集维度集合中的维度属于数据库的维度集合。 度量值组是具有相同数据源视图的度量值的集合,并且具有多维数据集中的相同维度子集。 度量值组具有一个或多个分区来管理物理数据。 度量值组可以具有默认聚合设计。 度量值组中的所有分区都可以使用默认聚合设计;此外,每个分区可以有自己的聚合设计。
服务器对象 Analysis Services 的每个实例被视为 AMO 中的不同服务器对象;每个不同的实例通过不同的连接连接到 Server 对象。 每个服务器对象都包含一个或多个数据源、数据源视图和数据库对象,以及程序集和安全角色。
维度对象每个数据库对象都包含多个维度对象。 每个维度对象都包含一个或多个属性,这些属性组织为层次结构。
多维数据集对象每个数据库对象包含一个或多个多维数据集对象。 多维数据集由其度量值和维度定义。 多维数据集中的度量值和维度派生自多维数据集所基于的数据源视图中的表和视图,或者从度量值和维度定义生成。
对象继承
ASSL 对象模型包含许多重复的元素组。 例如,元素组“Dimensions contain Hierarchies”定义元素的维度层次结构。 同时 Cubes 包含元素 MeasureGroups 组,“Dimensions 包含 Hierarchies”。”
除非显式重写,否则元素将从较高级别继承这些重复元素组的详细信息。 例如,Translationsfor CubeDimension 与它的上级元素Cube相同Translations。
若要显式重写从较高级别对象继承的属性,对象不需要显式重复更高级别对象的整个结构和属性。 对象需要显式声明的唯一属性是对象要重写的属性。 例如,CubeDimension可能仅Hierarchies列出需要在级别上禁用Cube或需要更改可见性或尚未提供Dimension某些Level详细信息的用户。
在对象上指定的某些属性为子对象或后代对象的相同属性提供默认值。 例如, Cube.StorageMode 提供默认值 Partition.StorageMode。 对于继承的默认值,ASSL 将这些规则应用于继承的默认值:
当子对象的属性在 XML 中为 null 时,该属性的值默认为继承的值。 但是,如果从服务器查询值,服务器将返回 XML 元素的 null 值。
无法以编程方式确定子对象的属性是直接在子对象上设置还是继承。
示例:
导入多维数据集包含两个度量值:包和最后一个,以及三个相关维度、路由、源和时间。
多维数据集周围的较小字母数字值是维度的成员。 示例成员包括地面(路线维度的成员)、非洲(源维度的成员)和第一季度(时间维度的成员)。
措施
多维数据集单元格中的值表示两个度量值“包”和“最后一个”。 Packages 度量值表示导入的包数,该 Sum 函数用于聚合事实。 Last 度量值表示接收日期,函数 Max 用于聚合事实。
尺寸
“路由”维度表示导入到达其目标的方法。 此维度的成员包括地面、非地面、空气、海洋、道路或铁路。 “源”维度表示生产进口的位置,如非洲或亚洲。 时间维度表示单个年份的季度和半部分。
聚合
多维数据集的业务用户可以确定每个维度的每个成员的任何度量值,而不考虑维度中的成员级别,因为 Analysis Services 根据需要聚合上层的值。 例如,可以使用时间维度中的日历时间层次结构,根据标准日历层次结构聚合上图中的度量值,如下图所示。
值图
除了使用单个维度聚合度量值外,还可以通过使用不同维度的成员组合来聚合度量值。 这样,业务用户就可以同时评估多个维度中的度量值。 例如,如果业务用户想要分析从东半球和西半球乘空气到达的季度导入,则业务用户可以对多维数据集发出查询以检索以下数据集。
| 包裹 | 最后一个 | |||||||
|---|---|---|---|---|---|---|---|---|
| 所有源 | 东半球 | 西半球 | 所有源 | 东半球 | 西半球 | |||
| 所有时间 | 25110 | 6547 | 18563 | 12 月 29 日-99 | 12 月 22-99 日 | 12 月 29 日-99 | ||
| 上半部分 | 11173 | 2977 | 8196 | Jun-28-99 | Jun-20-99 | Jun-28-99 | ||
| 第一季度 | 5108 | 1452 | 3656 | Mar-30-99 | 3 月 19-99 日 | Mar-30-99 | ||
| 第二季度 | 6065 | 1525 | 4540 | Jun-28-99 | Jun-20-99 | Jun-28-99 | ||
| 第二半部分 | 13937 | 3570 | 10367 | 12 月 29 日-99 | 12 月 22-99 日 | 12 月 29 日-99 | ||
| 第三季度 | 6119 | 1444 | 4675 | Sep-30-99 | Sep-18-99 | Sep-30-99 | ||
| 第四季度 | 7818 | 2126 | 5692 | 12 月 29 日-99 | 12 月 22-99 日 | 12 月 29 日-99 |
定义多维数据集后,可以创建新的聚合,也可以更改现有聚合来设置选项,例如,聚合是在处理期间预计算还是在查询时计算。 相关主题:聚合和聚合设计。
映射度量值、属性和层次结构
示例多维数据集中的度量值、属性和层次结构派生自多维数据集的事实和维度表中的以下列。
| 度量值或属性(级别) | 成员 | 源表 | 源列 | 示例列值 |
|---|---|---|---|---|
| 包度量值 | 不適用 | ImportsFactTable | 包裹 | 12 |
| 最后一个度量值 | 不適用 | ImportsFactTable | 最后一个 | 5 月 3 日-99 |
| 路由维度中的路由类别级别 | nonground,ground | RouteDimensionTable | Route_Category | 非前景 |
| 路由维度中的路由属性 | 空气,海,公路,铁路 | RouteDimensionTable | 路线 | 海 |
| 源维度中的半球属性 | 东半球、西半球 | SourceDimensionTable | 半球 | 东半球 |
| “源”维度中的“大洲”属性 | 非洲,亚洲,澳大利亚,N. 美国,S. 美洲 | SourceDimensionTable | 大陆 | 欧洲 |
| Time 维度中的半属性 | 第一半,第二半 | TimeDimensionTable | 半 | 第二半部分 |
| 时间维度中的季度属性 | 第一季度,第二季度,第三季度,第四季度 | TimeDimensionTable | 季度 | 第三季度 |
单个多维数据集单元格中的数据通常派生自事实数据表中的多行。 例如,空成员、非洲成员和第一季度成员交集处的多维数据集单元包含一个值,该值通过聚合 ImportsFactTable 事实数据表中的以下行来派生。
| Import_ReceiptKey | RouteKey | SourceKey | TimeKey | 包裹 | 最后一个 |
| 3516987 | 1 | 6 | 1 | 15 | Jan-10-99 |
| 3554790 | 1 | 6 | 1 | 40 | Jan-19-99 |
| 3572673 | 1 | 6 | 1 | 34 | Jan-27-99 |
| 3600974 | 1 | 6 | 1 | 45 | 2 月 02-99 日 |
| 3645541 | 1 | 6 | 1 | 20 | 2月-09-99 |
| 3674906 | 1 | 6 | 1 | 36 | 2 月 17-99 |
在上表中,每一行的 RouteKey、 SourceKey 和 TimeKey 列具有相同的值,指示这些行对同一多维数据集单元格的贡献。
此处所示的示例表示一个非常简单的多维数据集,因为多维数据集具有单个度量值组,并且所有维度表都联接到星型架构中的事实数据表。 另一个常见架构是雪花架构,其中一个或多个维度表联接到另一个维度表,而不是直接联接到事实数据表。 相关主题:维度(Analysis Services - 多维数据)。
此处显示的示例仅包含一个事实数据表。 当多维数据集有多个事实数据表时,每个事实数据表中的度量值将组织成度量值组,度量值组由定义的维度关系与一组特定的维度相关。 通过指定数据源视图中的参与表和关系的粒度来定义这些关系。 相关主题:维度关系。