CustomRollupColumn说明:指定包含多维表达式的列,该表达式可用于聚合特性的度量值。这个属性覆盖给定度量值的AggregateFunction的属性。

  解释:通常我们的度量值,默认是按照总计的聚合方式聚合的,当然在SSAS中还有很多种内置的聚合方式(如图),但是,这也许不能满足我们实际需要的聚合方式;例如:我们接下来要举得里实例中的聚合方式。 CustomRollupColumn这个属性就会覆盖给定度量值的AggregateFunction的属性按照自定义的聚合方式进行聚合。

1、我们首先要建立一个维度表:先不要理会Custom里面的值,C作为主键。

2、接着建立与之对应的事实表:

3、建立一个简单的多维数据集:这个过程就不说了,结果如图:

4、我们的维度表设计:将P标志为父子键,以便SSAS自动创建父子维度,另外将C的NameColumn属性设置为Cname以便显示中文。其他属性不变,处理之后,浏览维度是这样的:

5、浏览此时的多维数据集:按照下图的方式浏览数据,此时的净收入:1100 =9000+200,净收入=总收入+总投入,明显跟现实不符合,这时候需要更改SSAS的默认的聚合方式,使净收入=总收入-总投入,也就是 7000=9000-200;

6、修改聚合方式:是净收入按照我们预想的方式进行聚合,这是后就用到了维度的 CustomRollupColumn属性了。首先明确,这个属性属于那个成员?简单想想就知道这个属性属于此实例中父子层级;我们需要的聚合方式是:净收入所对应的量值=总收入对应的量值-总投入对应的量值;这时候,我们需要将维度表做些手脚了,就如前面的维度表中将净收入的Custom字段填入图中的内容(就表示净收入所对应的量值=总收入对应的量值-总投入对应的量值),此时将维度中P的 CustomRollupColumn属性设置为Custom字段即可,如图:

此时,在处理之后,浏览维度会发现净收入处多出一个ƒ符号,其他没有什么变化:

7、最后在按照第5步骤所做的一样浏览多维数据集,会发现净收入=总收入-总投入,也就是7000=9000-2000;达到了我们期望:这就是我们说的CustomRollupColumn用法。

补充:与CustomRollupColumn属性对应的属性CustomRollupPropertiesColumn是同样的用法:会将关系表中的一列作为输入,用于定义单元的属性,例如背景颜色和前景颜色等。还有一种自定义汇总的方法使用UnaryOperatorColumn

SSAS维度设计中CustomRollupColumn的用法-自定义聚合方式的更多相关文章

  1. SSAS 度量值中的distinct count局聚合方式会数为null的值

    我们来看一个例子 Analysis Services: For Distinct Count measure NULL = 0 If you are to look at the table of v ...

  2. flex中dispatchEvent的用法(自定义事件) .

    Evevt和EventDispatcher类在as3的事件机制中是很重要的角色,dispatchEvent()是EventDispatcher类的一个事件发送方法,它可以发送出Event类或其子类的实 ...

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

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

  4. 微软BI 之SSAS 系列 - 自定义的日期维度设计

    SSAS Date 维度基本上在所有的 Cube 设计过程中都存在,很难见到没有时间维度的 OLAP 数据库.但是根据不同的项目需求, Date 维度的设计可能不大相同,所以在设计时间维度的时候需要搞 ...

  5. jQuery中Animate进阶用法(一)

    jQuery中animate的用法你了解多少呢?如果仅仅是简单的移动位置,显示隐藏,哦!天哪你在浪费资源!因为animate太强大了,你可以有很多意想不到的用法!让我们一起研究一下吧~~ 首先要了解j ...

  6. SSAS维度上有多个表的注意事项

    在Sql Server Analysis Service中维度上有多张表(大于一张表)时,一定要注意将第二张表开始用到维度属性中的KeyColumns下的NullProcessing要设置为Unkno ...

  7. Delphi中ClientDataSet的用法小结

    Delphi中ClientDataSet的用法小结 TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件.该控件封装了对数据进 ...

  8. 数据库设计中的Soft Delete模式

    最近几天有点忙,所以我们今天来一篇短的,简单地介绍一下数据库设计中的一种模式——Soft Delete. 可以说,该模式毁誉参半,甚至有非常多的人认为该模式是一个Anti-Pattern.因此在本篇文 ...

  9. 一个CSS中Z-index的用法

    一个CSS中Z-index的用法 CSS教程:彻底掌握Z-index属性     大多数的CSS属性都很容易使用.常常,当您对标记语言的元素使用CSS属性时,产生的结果会随着您刷新页面而立即呈现.而另 ...

随机推荐

  1. BZOJ 2440 完全平方数(莫比乌斯反演,容斥原理)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2440 题意:求第K个没有平方因子的数 思路:首先,可以二分数字,然后问题就转变成x以内有多少无平方因 ...

  2. windows 7 系统进程服务详解

    windows 7已经发布有段时间了,相信很多网友都已经换上了传说中非常完美的win7系统.win7不仅继承而且还超越了vista的美观界面,性能优化方面也下足了功力.还拥有强大的win xp兼容性, ...

  3. C# ReferenceEquals(), static Equals(), instance Equals(), 和运算行符==之间的关系

    C#充许你同时创建值类型和引用类型.两个引用类型的变量在引用同一个对象时,它们是相等的,就像引用到对象的ID一样.两个值类型的变量在它们的类型和内容都是相同时,它们应该是相等的.这就是为什么相等测试要 ...

  4. C#开发SQLServer的Geometry和Geography存储

    原文:C#开发SQLServer的Geometry和Geography存储 SQL Server2008推出后最大的变化就是提供了支持空间数据存储的Geometry和Geography,这个也是如果将 ...

  5. 关于oracle动态视图v$datafile和v$datafile_header(转)

    v$datafile是从oracle的控制文件中获得的数据文件的信息v$datafile_header是从数据文件的头部在正常运行下,两者的检查点SCN值是一致的,但当datafile出现损坏时可以用 ...

  6. icmp的报文,Destination Host Unreachable

    icmp的报文,Destination Host Unreachable的意思如下: http://www.corenetworkz.com/2009/05/destination-host-unre ...

  7. shell脚本语法基础汇总

    shell脚本语法基础汇总 将命令的输出读入一个变量中,可以将它放入双引号中,即可保留空格和换行符(\n) out=$(cat text.txt) 输出1 2 3 out="$(cat te ...

  8. javascript代码混淆原理

    https://www.google.com/search?biw=1440&bih=729&q=javascript%E4%BB%A3%E7%A0%81%E6%B7%B7%E6%B7 ...

  9. C语言中指针的指针是如何工作的?

      我们有时看到这样地饿代码: int *ptr = &x; 这里,ptr是一个指向x在内存中的地址的指针. 假设有另外一条语句是这样地的: int **ptr2 = &ptr; 我们 ...

  10. canvas.js | CLiPS

    canvas.js | CLiPS canvas.js The canvas.js module is a simple and robust JavaScript API for the HTML5 ...