在多维度分析中,父子式维度是很是重要的维度结构之一。它能够用最精简的数据结构来处理层数过多、层数不对称以及层数不肯定的结构。像是组织架构、会计科目或是制造业的物料表(BOM)都属于父子式层次。如下将示范如何利用×××S设计父子式层次报表。数据结构
步骤1:架构
首先,父子式层次必定须要符合如下原则。在数据表中,除了成员的键值以外,还要有另一个字段用来表示父层成员的键值。ide
步骤2:函数
首先,加入一个数据表,将员工名称与销售金额字段加入此数据表。设计
步骤3:3d
创建以“EMPLOYEE_KEY”为基础的组,而后把详细信息删除。blog
步骤4:ip
右击“EMPLOYEE_KEY”组,选择组属性,切换至“Advanced”标签页,在“Recursive parent”处下拉选择“MANAGER_KEY”。get
步骤5:it
此时,能够删除系统自动产生的“EMPLOYEE_KEY”数据行,以及将报表稍做排版。
步骤6:
若是但愿视觉上能呈现出如树状规则结构,则必须经过缩排的方式来显示。因此,接下来需设置Padding的属性,在属性窗口中的“Padding”展开后的“Left”选项内撰写如下表达式。
=(2 + (Level()*20)) & “pt”
步骤7:
以上的表达式是使用Level()函数来读取出这条规则所在的层级位置,而后根据层级所在位置设置留白的大小,以此段语法为例,层级一的规则会产生22pt的留白,而层级二会产生42pt (2 + (2*20))的留白,依次类推,便可完成很是漂亮的自动缩排的效果。
步骤8:
接下来,依照以前介绍的原理,在此父子式维度上加入深化功能。也就是将可见性切换为隐藏,并将切换显示设置为“EMPLOYEE_NAME”。
步骤9:
此时便可达成以下图所示的漂亮的父子式层次结构。
步骤10:
不过,仔细一看有点怪怪的,怎么比较上层的员工都没有数字?那是由于比较上层的都是高级主管,高级主管都不会本身出去跑业务,而是下层的业务人员才会有销售业绩数字。可是在管理面上,高级主管要扛的销售数字就是下面业务人员的数字总和,所以咱们的公式能够作如下调整:
加和
=Sum(Fields!SALES_AMT.Value,”EMPLOYEE_KEY”)
返回累加
=Sum(Fields!SALES_AMT.Value,”EMPLOYEE_KEY”,recursive)
步骤11:
如此以来,便可产生正常的父子式层次报表了。