SSAS系列——【02】多维数据(维度对象)
1、维度是什么?
数学中叫参数,物理学中是独立的时空坐标的数目。0维是一点,1维是线,2维是一个长和宽(或曲线)面积,3维是2维加上高度形成体积面。在物理学上时间是第四维,与三个空间维不同的是,它只有一个,且只能往一方向前进。
![]()
图一 MSDN中关于维度的概念
2、服务器对象的内容?
包括数据源、数据视图、数据库对象、安全角色和程序集。前4个都不难理解。关于程序集的概念,还需加强一下,程序集可为两种不同的类型:COM 和 CLR。CLR 程序集是使用 .NET Framework 编程语言(如 C#、Visual Basic .NET 和托管 C++)开发的程序集。说白了,你可以使用C#语言来编程处理服务器对象。
3、维度对象的内容?
简单 Dimension 对象由基本信息、属性和层次结构组成。基本信息包括维度的名称、维度的类型、数据源和存储模式等。属性可定义维度中的实际数据。属性可不必属于层次结构,但层次结构却要由属性生成。层次结构不但可创建级别的有序列表,还可定义用户浏览维度的方式。简单的讲,就像Session对象中的键值对一样,这里的key(基本信息)、Value(属性),但这里key之前可能存在一定的关系,所以多了一个层次结构。
维度的结构
a、最简单的——星型结构
特点:每个维度均基于一个通过主键-外键关系直接链接到事实数据表的维度表。 不多说了,直接上图。
图二 星型结构
b、最复杂的——雪花结构
![]()
图三 雪花型结构
维度的存储
a、ROLAP
使用 ROLAP 的维度的数据实际上存储在用于定义维度的表中。相对查询性能低。
![]()
b、MOLAP
使用 MOLAP 的维度的数据存储在 Analysis Services 实例中的多维结构中。相对查询性能高。
![]()
c、HOLAP
结合了ROLAP和MOLAP的存储方式。
![]()
//
4、维度如何落地?
维度本身是一个很抽象的东东,它通过属性来和数据库表挂钩。说到属性,就豁然开朗了,在OO的概念中,属性的概念无处不在。维度落到实处也就是属性的集合,这些属性是由数据源中数据表的列来提供的,一个或者多个列组合,有多个列存在,那不就乱了么?所以再找一个属性中的“老大”,那就是数据表中的主键,于是新出来个新名词,叫做“键属性”,我觉得键属性是成对出现的,主要是事实表中的主键和维度表的外键,双键合璧,那对于星型模型而言,维度都表都和键属性直接挂钩,而雪花型模型,只有部分和键属性挂钩咯,弱弱的说,MSDN是这么说的。
存在这么多的“属性小兵”,为了方便管理,那就给这些小兵分个级别把,“旅排营团”的一路摆开,于是又有个新名词,叫做“属性层次结构”,例如,在“日历时间”层次结构中,“日”级别应与“月”级别相关,“月”级别应与“季度”级别相关等等。
存在这么多的“属性小兵”,小兵与小兵平级之间也该有些关系吧,所有的小兵要紧密团结在老大“键属性”周围,所以MSDN上说,维度内的属性始终与键属性直接或间接相关。所以又有了个新名词,叫做“属性关系”。
存在这么多的“属性小兵”,如果把这些小兵的层次和属性联合起来,有满足“层次结构包含的每个属性都与其下直接属性一对多”时,叫做“自然层次结构关系”,晕死个人,不过也不难理解。
续ing
5、维度的写回
维度中的数据通常只是可读数据,在某些情况下可能对维度启用写操作,维度的任何成员均可以修改,还是有一些限制的,MSDN中有详细的对维度的增删改限制的描述,用的时候自然要想到,此处不再赘述。
6、维度翻译
这里的翻译和我们讲的把英文翻译成中文的意思一样,客户可根据区域标识符(LCID)把相应的标签传给SSAS实例来实现。
SSAS系列——【02】多维数据(维度对象)的更多相关文章
- 微软BI 之SSAS 系列 - 基于雪花模型的维度设计
基于雪花模型的维度以下面的 Product 产品与产品子类别,产品类别为例. DimProduct 表和 DimProductSubcategory 表有外键关系,而 DimProductSubcat ...
- SSAS系列——【03】多维数据(多维数据集对象)
原文:SSAS系列--[03]多维数据(多维数据集对象) 1.什么是Cube? 简单 Cube 对象由基本信息.维度和度量值组组成. 基本信息包括多维数据集的名称.多维数据集的默认度量值.数据源和存储 ...
- 微软BI 之SSAS 系列 - 多维数据集维度用法之一 引用维度 Referenced Dimension
在 CUBE 设计过程中有一个非常重要的点就是定义维度与度量值组关系,维度的创建一般在前,而度量值组一般来源于一个事实表.当维度和度量值组在 CUBE 中定义完成之后,下一个最重要的动作就是定义两者之 ...
- 微软BI 之SSAS 系列 - 实现Cube 以及角色扮演维度,度量值格式化和计算成员的创建
在熟悉完下面这三种维度的创建方式之后,就可以开始创建我们的第一个 Cube 了. SSAS 系列 - 自定义的日期维度设计 SSAS 系列 - 基于雪花模型的维度设计 SSAS系列 - 关于父子维度的 ...
- SSAS系列——【07】多维数据(查询Cube)
原文:SSAS系列——[07]多维数据(查询Cube) 1.什么是MDX? MDX叫做"多维表达式",是一种查询语言,是一种和SQL类似的查询语言,它基于 XML for Anal ...
- SSAS系列——【06】多维数据(创建Cube)
原文:SSAS系列--[06]多维数据(创建Cube) 1.文件类型说明 项目定义文件 (.dwproj).项目用户设置 (.dwproj.user).数据源文件 (.ds).数据源视图文件 (.ds ...
- SSAS系列——【05】多维数据(编程体系结构)
原文:SSAS系列--[05]多维数据(编程体系结构) 1.什么是AMO? 翻译:AMO是SSAS中一个完整的管理类集合,它在Microsoft.AnalysisServices命名空间下,我们可以在 ...
- 微软BI 之SSAS 系列 - 多维数据集维度用法之三 多对多维度 Many to Many
开篇介绍 对于维度成员和事实数据直接的关系看到更多的可能还是一对一,一对多的关系.比方在事实维度(或退化维度)中一个订单和明细号组合而成的ID,对应的就是事实表中的一条数据,这就是一对一的关系.比方说 ...
- 微软BI 之SSAS 系列 - 多维数据集维度用法之二 事实维度(退化维度 Degenerate Dimension)
这篇文章是基于上一篇 SSAS 系列 - 多维数据集维度用法之一 引用维度 Referenced Dimension 继续讲解多维数据集维度用法中的事实维度. 事实维度,顾名思义就是把事实表 Fact ...
随机推荐
- ASP.NET自定义控件组件开发 第一章 第二篇 接着待续
原文:ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 很感谢大家给我的第一篇ASP.NET控件开发的支持!在写这些之前,我也看了 ...
- 调整CentOS的文字登陆界面的分辨率
通过文字界面登陆到系统,切换到root权限. 用vi打开 /boot/grub/menu.lst 文件 ,因为menu.lst是grub.conf文件的快捷方式,终于打开的还是grub.conf文 ...
- 2014年度辛星全然解读html第七节
经过前面六节的学习,我们大致清楚了HTML教程中的基础内容,那么接下来我们開始继续向后推进,能够说,以下我们介绍一下HTML中的区块. ***************区块*************** ...
- W3C DOM 事件模型(简述)
1.事件模型 由于事件捕获与冒泡模型都有其长处和解释,DOM标准支持捕获型与冒泡型,能够说是它们两者的结合体.它能够在一个DOM元素上绑定多个事件处理器,而且在处理函数内部,thiskeyword仍然 ...
- js Array 阵列扩展方法
//又来了 Array.prototype.unique = function() { this.sort(); var re=[this[0]]; for(var i = 1; i < thi ...
- 示例:Netty 处理 TCP数据分包协议
一个.Netty解决TCP协议的数据分包的想法 我们知道通过TCP协议发送接收数据时,假设数据过大.接收到的数据会是分包的.比方: ...
- 数据同步DataX
数据同步那些事儿(优化过程分享) 简介 很久之前就想写这篇文章了,主要是介绍一下我做数据同步的过程中遇到的一些有意思的内容,和提升效率的过程. 当前在数据处理的过程中,数据同步如同血液一般充满全过 ...
- Team Foundation Server 2015使用教程--默认团队权限说明
- OGG "Loading data from file to Replicat"table静态数据同步配置过程
OGG "Loading data from file to Replicat"table静态数据同步配置过程 一个.mgr过程 GGSCI (lei1) 3> view p ...
- NSIS脚本:更改壁纸
原文 NSIS脚本:更改壁纸 我们在制作主题安装包的时候,经常要进行自动更改壁纸的操作,其实用NSIS实现这一点非常简单.示例代码如下: 01 Name "更改壁纸" 02 Out ...