SSAS父子层次结构的增强-UnaryOperatorColumn属性

上次我有讲到自定义汇总,这次的内容跟上次的差不多也算是自定义汇总,实现的方式不同而已!使用的是UnaryOperatorColumn属性。

这个属性说明:

一元运算符用于将成员自定义汇总到父级,汇总运算为一元运算,与自定义汇总列一样,需要将一元运算符指定为关系表中的一列,并且该列必须设置或映射为父子层次结构的一个属性;一元运算符也可以应用到非父子层次结构中,但是不多见。下面为SSAS支持的一元运算符:

1、准备:新建一个维度表,里面的字段,除了一个operator跟上次的实例都一样,我们这次就要使用这个字段实现自定义汇总:净收入=总收入-总投入(7000=9000-200);

2、事实表还延续上一次的表内容:

3、构建维度,首先将维度构建为一个父子的层级结构,因为UnaryOperatorColumn属性只能设置或映射为父子层次结构中;构建父子层级就不多说了,(另外,强调的是做实验的时候最好处理好事实表和其他维度的关系,不然会出现莫名奇妙的现象,建议实例中的实施表,仅仅和实例中的维度建立联系,以便排除影响!)构建好父子层级后,为了显示的效果,可以将维度属性中的MembersWithData属性设置为:NonLeafDataHidden就不会出现上次实验中多余的成员了。然后,将NameColumn属性什么的都设置好之后,在P成员的属性对话框中找到UnaryOperatorColumn,绑定列为:operator;之后处理维度浏览:图中的operator可以点击‘成员属性’按钮,选择显示。

4、通过第三步骤,我们其实已经完成差不多,下面就将事实表引入,与维度建立关系,构建多维数据集,最终的效果如图,然后处理多维数据集。

5、最后,浏览多维数据就看到如图的效果,也实现了上次实验的效果:净收入=总收入-总投入(7000=9000-200):

时间: 2024-10-24 04:41:32

SSAS父子层次结构的增强-UnaryOperatorColumn属性的相关文章

定义父子层次结构

父子层次结构是标准维度中包含父属性的层次结构. 父属性用于说明维度主表内部的“自引用关系”或“自联接”. 父子层次结构是根据单个父属性构造的. 层次结构中出现的级别是通过与父属性关联的成员之间的父子关系形成的,因此只为一个父子层次结构分配一个级别. 父子层次结构内成员的位置由父特性的 KeyColumns 和 RootMemberIf 属性确定,而级别内成员的位置则由父特性的 OrderBy 属性确定. 有关特性属性的详细信息,请参阅属性和属性层次结构. 由于父子层次结构中各级别之间均存在父子关

SSAS 系列 - 维度的优化,"灌木丛属性关系" 以及自然层次结构与非自然层次结构的概念

维度的优化 在 SSAS 开发设计过程中,维度的优化非常重要,因为它在 SSAS 分析服务性能调优的过程中往往能起到一个非常重要的作用. 一般来说,对于 Cube 的性能优化第一步可能考虑的就是查看维度,观察维度中属性关系的设计. 这里有两种最重要的调优方法可以参考: 确认属性关系 有效的使用用户自定义的层次结构 定义属性关系 属性关系定义了属性之间的依赖关系,比如如果 A 有一个关联的属性 B, 那么就是 A -> B.比如,一个给定的属性关系 City -> State, 如果当前的城市是

Oracle Essbase入门系列(二)

本篇开始会一个三口之家的家庭财务数据库为例,讲述Essbase的功能和开发.为了说明EPM应用程序的管理和开发过程,会绕一些弯路,不使用EAS,而尽量用EPMA. 创建应用程序 首先登陆到Workspace,在左上角菜单中选择[导航]>[管理]>[应用程序库]. 应用程序库是EPMA的一部分,通过它可以管理EPM和Essbase应用程序.打开应用程序库后,在Workspace菜单中选[文件]>[新建]>[应用程序],接着会出现应用程序创建向导. 在应用程序创建向导的第一步,选择应用

避免将属性的可见属性层次结构用作用户定义的层次结构中的级别

最佳实践建议 为了提高可用性,通常应将还在用户层次结构中用作级别的属性层次结构隐藏.如果属性成员以其他方式中可见,则用户可能会感到困惑.若要隐藏属性层次结构,请将其 AttributeHierarchyVisible 属性更改为 False. 当一个属性同时也包括在用户定义的层次结构中时,它通常不需要在自己的单级别层次结构中显示.这种重复只会使最终用户感到复杂,而不会提供任何额外的好处.您应该考虑重命名用户层次结构中的级别或属性层次结构. 适 合为一个属性提供两个视图的常见情况是在时间维度中.按

《BI项目笔记》创建父子维度

创建步骤: 而ParentOriginID其实就是对应的ParentOriginID,它的 Usage 必须是 Parent 才能表示这样的一个父子维度. 查看OriginID属性, Usage 是 Key. 在这里一定要注意,父子关系层次结构中的子级必须是维度的关键属性,所以OriginID这里的 Usage 必须是 Key . 并且要注意的是每一个维度有且只能有一个属性的 Usage 属性能够被设置为 Key.这里别混淆了维度属性和数据库字段(属性),作为维度属性中的 Key 有可能是由数据

SSAS(分析服务)优化手册

优化前注意事项 1.数据质量.数据仓库中维度表的数据质量要严格保证.比如店仓的大区.省区.管理城市等属性和店仓代码没有一对多的上下级关系,这样在设计店仓维度时,就无法建立有效的层次结构.这会拖慢查询时的性能. 2.对报表分类.可按报表的使用方式和体积对用户报表进行分类. 1) 有的报表侧重分析,维度汇总程度较高,数据量不是特别大,可以在门户中直接使用. 2) 有的报表要求显示全部明细数据,只是为了汇出至Excel文件进行加工,建议利用SSRS制作报表,然后将此报表以Excel格式发送至指定的共享

SSAS优化要点-转载

按五个方面进行优化.(点击原文)1.维度设计 良好的维度设计是建制Cube最重要的方面.根据最终用户的业务需求,设计维度正确的属性.属性关系及层次结构. 1.1 避免只有单个维度的多维数据集 1.2 避免建立多个维度,而这些维度只有单个属性,请考虑统一这些维度 1.3 键属性(KeyColumns)的键列保证成员唯一性(可以使用多个键列保证唯一性) 1.4 维度表中的字段如果没有分析意义,或暂时不用作分析,不要将它建为属性 1.5 避免为每个维度指定多个不可聚合的属性(即IsAggregatab

SSAS中的一些概念

摘自MSDNMicrosoft SQL Server Analysis Services 多维数据集是基于度量值.维度和维度属性来组织的.下表说明了使用 MDX 表达式语言所需了解的维度建模术语和概念.数据库维度 (Database dimension)“数据库维度”是与某个键属性相关的维度属性的集合,而该键属性又与度量值维度中的事实数据相关. 维度属性 (Dimension attribute)“维度属性”被绑定到维度表中的一个或多个列并包含成员.维度属性可以包含客户名称.月份名称和产品名称.

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

原文:SSAS系列——[02]多维数据(维度对象) 1.维度是什么? 数学中叫参数,物理学中是独立的时空坐标的数目.0维是一点,1维是线,2维是一个长和宽(或曲线)面积,3维是2维加上高度形成体积面.在物理学上时间是第四维,与三个空间维不同的是,它只有一个,且只能往一方向前进. 图一 MSDN中关于维度的概念 2.服务器对象的内容? 包括数据源.数据视图.数据库对象.安全角色和程序集.前4个都不难理解.关于程序集的概念,还需加强一下,程序集可为两种不同的类型:COM 和 CLR.CLR 程序集是