上次我有讲到自定义汇总,这次的内容跟上次的差不多也算是自定义汇总,实现的方式不同而已!使用的是UnaryOperatorColumn属性。
这个属性说明:
一元运算符用于将成员自定义汇总到父级,汇总运算为一元运算,与自定义汇总列一样,需要将一元运算符指定为关系表中的一列,并且该列必须设置或映射为父子层次结构的一个属性;一元运算符也可以应用到非父子层次结构中,但是不多见。下面为SSAS支持的一元运算符:
1、准备:新建一个维度表,里面的字段,除了一个operator跟上次的实例都一样,我们这次就要使用这个字段实现自定义汇总:净收入=总收入-总投入(7000=9000-200);
2、事实表还延续上一次的表内容:
3、构建维度,首先将维度构建为一个父子的层级结构,因为UnaryOperatorColumn属性只能设置或映射为父子层次结构中;构建父子层级就不多说了,(另外,强调的是做实验的时候最好处理好事实表和其他维度的关系,不然会出现莫名奇妙的现象,建议实例中的实施表,仅仅和实例中的维度建立联系,以便排除影响!)构建好父子层级后,为了显示的效果,可以将维度属性中的MembersWithData属性设置为:NonLeafDataHidden就不会出现上次实验中多余的成员了。然后,将NameColumn属性什么的都设置好之后,在P成员的属性对话框中找到UnaryOperatorColumn,绑定列为:operator;之后处理维度浏览:图中的operator可以点击‘成员属性’按钮,选择显示。
4、通过第三步骤,我们其实已经完成差不多,下面就将事实表引入,与维度建立关系,构建多维数据集,最终的效果如图,然后处理多维数据集。
5、最后,浏览多维数据就看到如图的效果,也实现了上次实验的效果:净收入=总收入-总投入(7000=9000-200):