原文:SSAS系列——【03】多维数据(多维数据集对象)

1、什么是Cube?

简单 Cube 对象由基本信息、维度和度量值组组成。 基本信息包括多维数据集的名称、多维数据集的默认度量值、数据源和存储模式等。维度是多维数据集中使用的实际维度组。所有维度都必须先在数据库的维度集合中定义,然后才能在多维数据集中引用。度量值组是多维数据集中的度量值集。度量值组是具有常见数据源视图和维度集的度量值的集合。度量值组是度量值的处理单元;可先对度量值组进行单独处理,然后再浏览。这个概念MSND解释的非常清楚,也不难理解,姑且Copy贴上来。

2、度量值和度量值组

度量值通常映射到事实数据表中的列。维度表中的属性列可以用于定义度量值,但是这些度量值通常在聚合行为方面具有半累加性或非累加性。

图 事实数据表中的度量值

简单 MeasureGroup 对象由基本信息、度量值、维度和分区组成。基本信息包括度量值组的名称、度量值的类型存储模式处理模式等。度量值是组成度量值组的实际度量值集。对于每个度量值,均有一个聚合函数定义、一个格式属性定义、一个数据项源定义等其他定义。维度是用于创建已处理度量值组的多维数据集维度的子集。分区是已处理度量值组的物理拆分的集合。在多维数据集中,度量值按照其基础事实数据表分组为多个度量值组。度量值组用于使维度和度量值相互关联。度量值组还可用于将非重复计数作为其聚合行为的度量值。将每个非重复计数度量值放入自己的度量值组后,可优化聚合处理。

3、粒度和聚合函数

在oo中,如果一个对象“车队”的实现只深入到“汽车”这个层次,而不是“发动机”“轮胎”这个层次,那么前者比后者粒度大。
只要能满足需要,粒度当然越大越好,简单实用。在数据仓库中的粒度的概念同上。

聚合函数用于库表数据统计,如: sum, count, avg。这儿不用多说,在这儿每个度量值的聚合行为都由与该度量值关联的聚合函数确定。

4、维度关系

指的是维度和事实数据表在一定的维度粒度下的属性。

常规维度关系

       星型模型,没什么好说的,上图:

应用模型关系

雪花型模型,上图:

多对多维度关系

事实维度关系

事实维度(通常称为退化维度)是通过事实数据表而非维度表中的属性列构造的标准维度。 有用的维度数据有时存储在事实数据表中以减少重复。

5、计算

终于讲到一个我很感兴趣的话题了,这儿的应该也是操作数据仓库的核心之一。计算是一种多维表达式 (MDX) 表达式或脚本,用于在 SSAS中定义多维数据集中的计算成员、命名集或范围分配。我的理解是,使用计算后可以在原有的一些度量值的基础上生成新的度量值,在之后的浏览cube的时候新的度量值将和原来的一起使用。使用脚本命令可以让计算变得复杂灵活的满足业务需求。

6、关键绩效指标

在业务术语中,关键绩效指标 (KPI) 是一个用于测定业务绩效的可计量度量值。一个简单的KPI由基本信息、目标、获取的实际值、状态值、走向值以及在其中查看的KPI的文件夹组成。例如,一个单位的销售部门可以使用每月的毛利润作为 KPI,但同一单位的人力资源部门可以使用每季度流失的雇员作为 KPI。 这是一个比较重要的指标,目前暂时理解到这个程度。

7、操作 Action

操作的主要目的是为了提供给客户端应用程序并可由客户端应用程序使用的已存储 MDX 语句。他是在服务器端定义的客户端的执行命令。我的理解和数据库引擎中的存储过程相似。

8、分区Partition

分区是部分度量值组数据的容器。简单的分区对象由基本信息(名称、存储模式和处理模式)、切片定义、聚合设计等组成。SSAS使用分区来管理和存储量度值组的数据和聚合。分区对多维数据集的业务用户不可见。允许多维数据集的源数据和聚合数据分布在多个硬盘驱动器和多个服务器计算机中。分区和极大的提高查询性能、负载性能和多维数据集的易维护性。分区的结构必须与其度量值组的结构匹配。

      分区存储

MOLAP、ROLAP、HOLAP

      主动缓存(分区)

提供了多个主动缓存配置选项,您可以利用它们来最大化性能,最小化滞后时间以及安排处理。

      远程分区

远程分区的数据存储在另一个 Microsoft SQL Server Analysis Services 实例上,而没有存储在包含分区定义(元数据)及其父多维数据集的实例上。

可写入的分区

都说使用了分区后可提高查询性能,到底是如何提高性能的呢?

9、透视

透视是多维数据集的只读视图。透视可控制多维数据集所包含对象的可见性。 可在透视中显示或隐藏以下对象:

维度、属性、层次结构、度量值组、度量值、关键绩效指标 (KPI)、计算(计算成员、命名集和脚本命令)、操作。

SSAS系列——【03】多维数据(多维数据集对象)的更多相关文章

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

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

  2. SSAS系列——【08】多维数据(程序展现Cube)

    原文:SSAS系列--[08]多维数据(程序展现Cube) 1.引用DLL? 按照之前安装的MS SQLServer的步骤安装完成后,发现在新建的项目中“Add Reference”时居然找不到Mic ...

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

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

  4. SSAS系列——【04】多维数据(物理体系结构)

    原文:SSAS系列——[04]多维数据(物理体系结构) 1.本地多维数据集 本地多维数据集和本地挖掘模型允许在客户端工作站与网络的连接断开时对该工作站进行分析.在与本地多维数据集进行交互时,ADMOD ...

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

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

  6. SSAS系列——【02】多维数据(维度对象)

    原文:SSAS系列——[02]多维数据(维度对象) 1.维度是什么? 数学中叫参数,物理学中是独立的时空坐标的数目.0维是一点,1维是线,2维是一个长和宽(或曲线)面积,3维是2维加上高度形成体积面. ...

  7. 微软BI 之SSAS 系列 - 多维数据集中度量值设计时的聚合函数 (累加性_半累加性和非累加性)

    在 SSAS 系列 - 实现第一个 Cube 以及角色扮演维度,度量值格式化和计算成员的创建 中主要是通过已存在的维度和事实数据创建了一个多维数据集,并同时解释了 Role-Playing Dimen ...

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

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

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

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

随机推荐

  1. FastDFS设备、构造、配置()一-安装和部署

    FastDFS是一个开源的.高性能的的分布式文件系统,他基本的功能包含:文件存储.同步和訪问,设计基于高可用和负载均衡,FastDFS很适用于基于文件服务的站点.比如图片分享和视频分享站点 FastD ...

  2. android--jenkins+gradle+android自动化构建apk步骤(转)

    第一步,安装jenkins,这个网上教程挺多的. 第二步,下载并配置gradle.下载地址http://www.gradle.org/ 解压gradle至某路径下,如/usr/local/lib/gr ...

  3. VS怎样创建和使用lib文件

    假设你当前正在使用vs写了一个project,那么你想如今就生成一个Lib文件,那么能够直接在"项目属性"上进行改动i 项目属性->配置属性->常规->配置类型中 ...

  4. openstack临时存储后端

    声明: 本博客欢迎转发.但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! 眼下openstack提供了 ...

  5. TextView于getCompoundDrawables()使用演示样本的方法

    MainActivity例如下列: package cc.testcompounddrawables; import android.app.Activity; import android.grap ...

  6. javascript滚动栏响应鼠标滑轮的实现上下滚动事件

    实现鼠标滚动滚轮事件: <script type="text/javascript"><pre name="code" class=" ...

  7. sqlserver缓存程序-只能使用一次清除缓存计划

    plan cache非常大.将仅仅使用一次的缓存计划清除,而不用清除整个cache. declare @sid varbinary(64) declare cur01 cursor for selec ...

  8. Hsql中In没有1000的限制

    SELECT * FROM user , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ...

  9. MessageFormat类别:快速格式化字符串

    MessageFormat 获取一组对象,格这些对象的类型,然后格串类型插入的地方的图案. 第一个样例使用静态的方法 MessageFormat.format.它在内部创建一个仅仅使用一次的 Mess ...

  10. 端口扫描之王——nmap入门精讲(转)

    端口扫描在百度百科上的定义是: 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利 ...