《BI项目笔记》多维数据集中度量值设计时的聚合函数

Microsoft SQL Server Analysis Services 提供了几种函数,用来针对包含在度量值组中的维度聚合度量值。默认情况下,度量值按每个维度进行求和。但是,通过 AggregateFunction 属性,您可以修改此行为。聚合函数的累加性可确定度量值如何在多维数据集的所有维度中进行聚合。聚合函数具有三个级别的累加性:

累加性 - 累加性度量值主要是指父级层次结构中成员的值等于它所有子级成员值的总和。

  • Sum - 父级成员值等于它所有子级成员值的总和,这是 SSAS 分析服务默认的聚合函数。
  • Count - 计算事实表中特殊列非空值的函数,或者计算事实表的行数。父级成员也可以由它的所有子级成员值相加求得。

半累加性 - 半累加性度量值只是对某些子级得到进行聚合。

  • Max - 父级成员值等于其所有子级中的最小值。
  • Min - 父级成员值等于其所有子级中的最大值。
  • FirstChild - 父级成员的值等于子级成员值的总和,但是如果在时间维度中,父级成员的值等于第一个子成员的值。
  • LastChild - 父级成员的值等于子级成员值的总和,但是如果在时间维度中,父级成员的值等于最后一个子成员的值。
  • FirstNonEmpty - 父级成员的值等于子级成员值的总和,但是如果在时间维度中,父级成员的值等于第一个非空子成员的值。
  • LastNonEmpty - 父级成员的值等于子级成员值的总和,但是如果在时间维度中,父级成员的值等于最后一个非空子成员的值。
  • AverageOfChildren - 对多维数据集时间维度中最低粒度级别的所有维度进行求和,然后再求平均值,即得所求值。(非空子成员)
  • ByAccount - 当多维数据集包含一个账户类型的维度时,需要使用按账户聚合函数。度量值的按账户聚合函数是维度 Account 成员的一个属性。

非累加性 - 父级成员的值不能由自己的值得到。

  • DistinctCount - 非重复计算,对事实表中无重复的列进行计数,成员值是通过对该成员的无重复技术而确定的。
  • NONE - 不进行任何聚合。

参考文献:
配置度量值属性
http://technet.microsoft.com/zh-cn/library/ms175623(v=sql.105).aspx
定义半累加性行为
http://technet.microsoft.com/zh-cn/library/ms175356(v=sql.105).aspx
使用聚合函数
http://technet.microsoft.com/zh-cn/library/ms365396(v=sql.105).aspx
度量值和度量值组
http://technet.microsoft.com/zh-cn/library/ms174792(v=SQL.105).aspx

时间: 2024-10-05 13:19:28

《BI项目笔记》多维数据集中度量值设计时的聚合函数的相关文章

《BI项目笔记》——微软BI项目笔记连载

原文:<BI项目笔记>--微软BI项目笔记连载 本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的SSAS.SSIS模块:  准备工作: <BI项目笔记>基于雪花模型的维度设计 <BI项目笔记>数据源视图设置 <BI项目笔记>创建标准维度.维度自定义层次结构 <BI项目笔记>创建父子维度 <BI项目笔记>创建时间维度(1) <BI项目笔记>创建时间

《BI项目笔记》创建多维数据集Cube(1)

原文:<BI项目笔记>创建多维数据集Cube(1) 有两个事实表,因此就有两个度量值组,并且向导将为非维度键的事实表中的每一个数值列创建一个度量值.由于我们这里不需要那么多,所以只选择部分度量值.另外要注意,度量值的名称源于事实表中的列,所有名称由可能相同.但是在多维数据集中,由于度量值的名称必须是唯一的,所以向导会在重复的度量值名称后添加所属的度量值组名称. 下一步的时候多维数据集的向导识别了度量值组即之前的事实表与之相关的维度表,因此这里全部会显示出来. 为多维数据集取一个名称并保存. 历

《BI项目笔记》创建多维数据集Cube(2)

原文:<BI项目笔记>创建多维数据集Cube(2) 本节建立: 历年的初烟水分均值变化分析Cube:区域维度:地州,专县时间维度:年等级维度:大等级,小等级指标:水分均值 数据源视图: 数据处理: ALTER TABLE T_QualMoisture_Middle ALTER COLUMN V_Produce_ID VARCHAR(50) ALTER TABLE T_QualMoisture_Middle ALTER COLUMN V_Batch_ID VARCHAR(50) DELETE F

《BI项目笔记》数据源视图设置

原文:<BI项目笔记>数据源视图设置 目的数据源视图是物理源数据库和分析维度与多维数据集之间的逻辑数据模型.在创建数据源视图时,需要在源数据库中指定包含创建维度和多维数据集所需要的数据表格和视图.BIDS与数据库连接,读取表格和视图定义,并在数据源视图中存储元数据.元数据是“关于数据的数据”:即表格和视图的名称.列名称.数据类型.主键列和外键关系等.数据源视图允许您提供额外的元数据.如果需要转换数据,可以向表格中添加含有SQL表达式的命名计算.如果需要创建筛选.分组或从多个表中连接数据,可以创

微软BI项目笔记连载

本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的多维分析模块: <BI项目笔记>基于雪花模型的维度设计 <BI项目笔记>数据源视图设置 <BI项目笔记>创建标准维度.维度自定义层次结构 <BI项目笔记>创建父子维度 <BI项目笔记>创建时间维度(1) <BI项目笔记>创建时间维度(2) <BI项目笔记>创建多维数据集Cube

《BI项目笔记》报到信息分析Cube

原文:<BI项目笔记>报到信息分析Cube 数据源设置:数据处理逻辑: --处理丢失外键关系数据 SELECT * FROM T_ReportLeafGrade WHERE FSubFID NOT IN ( SELECT FID FROM T_RaceLeafReport ) DELETE FROM T_ReportLeafGrade WHERE FSubFID NOT IN ( SELECT FID FROM T_RaceLeafReport ) --处理供应商关系 SELECT * FRO

《BI项目笔记》创建时间维度(1)

原文:<BI项目笔记>创建时间维度(1) SSAS Date 维度基本上在所有的 Cube 设计过程中都存在,很难见到没有时间维度的 OLAP 数据库.但是根据不同的项目需求, Date 维度的设计可能不大相同,所以在设计时间维度的时候需要搞清楚几个问题: 你的业务涉及到的最低的细节级别是什么?比如按季度查看报表还是按月份,或者按周,或者再甚者按天.这个细节级别需要弄清楚,比如在一些销售数据统计,有的时候可能更多按季度或者按月来查看报表.但在有的监控一些机器运行数据的统计,可能会按照小时或者分

《BI项目笔记》历年理化指标分析Cube的建立

原文:<BI项目笔记>历年理化指标分析Cube的建立 该系统属于数据仓库系统,与传统的管理信息系统有本质差别,是“面向主题”设计的.“面向主题”的方式,既有利于数据组织和利用,又有利于用户的理解和使用. 分析主题主要维度:烟叶级别.烟叶级别按等级信息.烟叶级别按分级标准(标准维度) 产地(父子维度) 检测时间(时间维度,以Tqc_Raw_Chemistry .CheckTime字段派生CheckDate字段) 样品维度增加按样品来源.按打叶计划层次结构 主要指标:总糖% TotalSugar还

《BI项目笔记》SSAS部署时发生的问题——元数据管理器中存在错误 解决办法

原文:<BI项目笔记>SSAS部署时发生的问题--元数据管理器中存在错误 解决办法 在生成和部署期间出错.是否继续?解决办法: 用Microsoft SQL Server Management Studio 连接Analysis Services 然后删除多维数据库,重新布署.这样就OK的.