原文: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】多维数据(维度对象)的更多相关文章

  1. 微软BI 之SSAS 系列 - 基于雪花模型的维度设计

    基于雪花模型的维度以下面的 Product 产品与产品子类别,产品类别为例. DimProduct 表和 DimProductSubcategory 表有外键关系,而 DimProductSubcat ...

  2. SSAS系列——【03】多维数据(多维数据集对象)

    原文:SSAS系列--[03]多维数据(多维数据集对象) 1.什么是Cube? 简单 Cube 对象由基本信息.维度和度量值组组成. 基本信息包括多维数据集的名称.多维数据集的默认度量值.数据源和存储 ...

  3. 微软BI 之SSAS 系列 - 多维数据集维度用法之一 引用维度 Referenced Dimension

    在 CUBE 设计过程中有一个非常重要的点就是定义维度与度量值组关系,维度的创建一般在前,而度量值组一般来源于一个事实表.当维度和度量值组在 CUBE 中定义完成之后,下一个最重要的动作就是定义两者之 ...

  4. 微软BI 之SSAS 系列 - 实现Cube 以及角色扮演维度,度量值格式化和计算成员的创建

    在熟悉完下面这三种维度的创建方式之后,就可以开始创建我们的第一个 Cube 了. SSAS 系列 - 自定义的日期维度设计 SSAS 系列 - 基于雪花模型的维度设计 SSAS系列 - 关于父子维度的 ...

  5. SSAS系列——【07】多维数据(查询Cube)

    原文:SSAS系列——[07]多维数据(查询Cube) 1.什么是MDX? MDX叫做"多维表达式",是一种查询语言,是一种和SQL类似的查询语言,它基于 XML for Anal ...

  6. SSAS系列——【06】多维数据(创建Cube)

    原文:SSAS系列--[06]多维数据(创建Cube) 1.文件类型说明 项目定义文件 (.dwproj).项目用户设置 (.dwproj.user).数据源文件 (.ds).数据源视图文件 (.ds ...

  7. SSAS系列——【05】多维数据(编程体系结构)

    原文:SSAS系列--[05]多维数据(编程体系结构) 1.什么是AMO? 翻译:AMO是SSAS中一个完整的管理类集合,它在Microsoft.AnalysisServices命名空间下,我们可以在 ...

  8. 微软BI 之SSAS 系列 - 多维数据集维度用法之三 多对多维度 Many to Many

    开篇介绍 对于维度成员和事实数据直接的关系看到更多的可能还是一对一,一对多的关系.比方在事实维度(或退化维度)中一个订单和明细号组合而成的ID,对应的就是事实表中的一条数据,这就是一对一的关系.比方说 ...

  9. 微软BI 之SSAS 系列 - 多维数据集维度用法之二 事实维度(退化维度 Degenerate Dimension)

    这篇文章是基于上一篇 SSAS 系列 - 多维数据集维度用法之一 引用维度 Referenced Dimension 继续讲解多维数据集维度用法中的事实维度. 事实维度,顾名思义就是把事实表 Fact ...

随机推荐

  1. HDFS 上传文件的不平衡,Balancer问题是过慢

    至HDFS上传文件.假定从datanode开始上传文件,上传的数据将导致目前的当务之急是全datanode圆盘.这是一个分布式程序的执行是非常不利. 解决方案: 1.从其他非datanode节点上传 ...

  2. 【Java基础】选择排序、冒泡法排序、二分法查找

    1.选择排序: //改进后的选择排序,减少交换的次数 public static void sortSelect(int arr[]) { //用于存放最小数的下标 int s; for (int i ...

  3. OpenGL学习日记-2015.3.13——多实例渲染

        实例化(instancing)或者多实例渲染(instancd rendering)是一种连续运行多条同样渲染命令的方法.而且每一个命令的所产生的渲染结果都会有轻微的差异. 是一种很有效的.有 ...

  4. HDU 4513 哥几个系列故事——形成完善II manacher求最长回文

    标题来源:哥几个系列故事--形成完善II 意甲冠军:中国 思维:在manacher断 保证非严格递减即可了 #include <cstdio> #include <cstring&g ...

  5. 前端project师的修真秘籍(css、javascript和其他)

    以我的经验,大部分技术,熟读下列四类书籍就可以. 入门,用浅显的语言和方式讲述正确的道理和方法,如head first系列 全面,巨细无遗地探讨每一个细节,遇到疑难问题时往往能够在这里得到理论解答,如 ...

  6. Tempdb怎么会成为性能瓶颈

    原文:Tempdb怎么会成为性能瓶颈 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/25/tempdb.aspx 我曾经遇到过这样一个性能问题. ...

  7. C#依据word模版动态生成文档

    新生开学,各院系辅导员代领校园卡.需要打印一份领取卡的协议,协议模版固定,但各院系卡的数量不同.需要从excel表格中抽取数据往word文件中填,同事咨询是否可以用word中的邮件合并功能,心想有这功 ...

  8. Android-往来:添加到联系人

    //添加到联系人.使用事务 public void testAddContact() { String name[]={"周杰伦","谢霆锋","言承 ...

  9. 【二分法】 HDU 2446 Shell Pyramid

    意甲冠军:非常多,形成一个金字塔球 文章x层 x*(x+1)/ 2 球 给你个S 金字塔的一层代表第一数字向下S球 它是其中  这层中的第几行 第几列 公式 1 : x*(x+1)*(x+2)/ 6 ...

  10. 【安德鲁斯】于java代码集drawableLeft给予适当的大小如何,当?

    textView.setCompoundDrawables(drawable, null, null, null);如果看不到图片,这是由于需要手动定drawable适当的大小,使用drawable. ...