如下图所示的一个表DIM_AVITYPE的数据,AT_ID为主键ID,AT_PID是父亲节点ID,与AT_ID关联。AT_LEV是扩展用的属性,表示当前节点在第几层,AT_NAME是节点名称,AT_NO为节点编码,AT_PNO为父节点编码。(创建父子维度时,只用到AT_ID,AT_NAME,AT_PID。其他的做扩展用)。
在数据源视图中,添加表DIM_AVITYPE,并且编辑父子关联关系从AT_PID到AT_ID。即从AT_PID拖到AT_ID上即自动创建好关联。
在维度节点上--新建维度
点击下一步
完成后可以查看到下图
选中AT_PID设置KEY,NAME,VALUE的属性分别为AT_PID,AT_NAME,AT_ID
设置完成后,要注意到还有一个属性RootMemberIf。即是否是根节点的依据。我们把属性的值赋成ParentIsBlankSelfOrMissing。及值为空或者是自己的就为根节点。
设置完成,处理后可以看到完成的层次结构:
细心的朋友会发现,每个节点的子节点清单中都有一个自己。我们还是像刚才设置RootMemberIf属性一样,设置
MembersWithData属性(AT_PID对应的属性)的值赋成NonLeafDataHidden,重新处理一下,就没有了。