父子层次结构是维度中的一种层次结构,它是基于两个表的列建立的。 这些列共同定义维度成员之间的分层关系。 第一列称为 成员键列,用于标识每个维度成员。 另一列(称为 父列)标识每个维度成员的父级。 父属性的 NamingTemplate 属性确定父子层次结构中每个级别的名称, MembersWithData 属性确定是否应显示父成员的数据。
有关详细信息,请参阅 Parent-Child 层次结构、 Parent-Child 层次结构中的属性
注释
使用维度向导创建维度时,向导将识别具有父子关系的表,并自动为你定义父子层次结构。
在本主题中的任务中,你将创建一个命名模板,该模板定义 Employee 维度中父子层次结构中每个级别的名称。 然后,将父级属性配置为隐藏所有父级的数据,以便仅显示叶级成员的销售数据。
浏览员工维度
在解决方案资源管理器中,双击 Dimensions 文件夹中的 Employee.dim 以打开 Employee 维度的维度设计器。
单击“浏览器”选项卡,验证在“层次结构”列表中是否选择了“员工”,然后展开“所有员工”成员。
请注意, Ken J. Sánchez 是此父子层次结构中的顶级经理。
选择 Ken J. Sánchez 成员。
请注意,此成员的级别名称为 Level 02。 (级别名称显示在 当前级别之后: 紧邻 所有员工 成员上方)。在下一个任务中,你将为每个级别定义更具描述性的名称。
展开 Ken J. Sánchez 以查看向此经理报告的员工的姓名,然后选择 Brian S. Welcker 以查看此级别的名称。
请注意,此成员的级别名称为 级别 03。
在解决方案资源管理器中,双击多维数据集文件夹中的 Analysis Services Tutorial.cube,打开 Analysis Services 教程多维数据集的多维数据集设计器。
单击 “浏览器 ”选项卡。
单击 Excel 图标,然后在系统提示启用连接时单击“ 启用 ”。
在数据透视表字段列表中,展开 “经销商销售”。 将 经销商 Sales-Sales 金额 拖到“值”区域。
在数据透视表字段列表中,展开 员工,然后将 员工 层级拖到 行 区域。
Employees 层次结构的所有成员都添加到数据透视表报告的 A 列。
图像如下展示了员工层级结构的展开。
请注意,级别 03 中每个经理所做的销售额也显示在级别 04 中。 这是因为每个经理也是另一个经理的员工。 在下一个任务中,你将隐藏这些销售金额。
修改员工维度中的父属性属性
请切换到用于员工维度的维度设计器。
单击“维度结构”选项卡,然后在“属性”窗格中选择“员工”属性层次结构。
请注意此属性的唯一图标。 此图标表示该属性是父子层次结构中的父键。 另请注意,在“属性”窗口中,该属性的 Usage 属性定义为 Parent。 该属性是在设计维度时由维度向导设置的。 向导自动检测到父子关系。
在“属性”窗口中,单击 NamingTemplate 属性单元格中的省略号按钮(...)。
在 “级别命名模板 ”对话框中,定义级别命名模板,该模板确定在浏览多维数据集时向用户显示的父子层次结构中的级别名称。
在第二行中,该*行在“名称”列中键入 Employee Level * ,然后单击第三行。
请注意,在结果下,每个级别现在将命名为“员工级别”,后跟按顺序递增的数字。
下图显示了“ 级别命名模板 ”对话框中的更改。
单击 “确定” 。
在 Employees 属性的“属性”窗口中,在 MembersWithData 属性单元格中,选择 NonLeafDataHidden 以更改 Employees 属性的此值。
这将导致与父子关系层次结构中非叶级别成员相关的数据被隐藏。
使用修改的属性浏览员工维度
在 SQL Server Data Tools (SSDT) 的“构建”菜单上,单击“部署 Analysis Services 教程”。
部署成功完成后,切换到用于教程的 Analysis Services 多维数据集设计器,然后单击“浏览器”选项卡上的工具栏中的“重新连接”。
单击 Excel 图标,然后单击“ 启用”。
将 经销商 Sales-Sales 金额 拖到值区域。
将 “员工 ”层次结构拖到“行标签”区域。
下图显示了您对员工层次结构所做的更改。 请注意,史蒂芬·Y.江不再显示为他自己的员工。