使用Mondrian进行OLAP开发,我想在一个立方体里面展现同一个表里面的不同的维度时,就出现了这个问题:Mondrian Error:Duplicate table alias,意思是说有重复的表别名。
如我现在要对人员信息进行不同维度(性别、部门、职务、职业技能等级)的分析,而这些维度信息都是保存在一张表里面,原先写的Schema为:
<Schema name="Mondrian">
<Cube name="hrtest">
<Table name="user" />
<Dimension name="性别" foreignKey="sex" >
<Hierarchy hasAll="true" primaryKey="sex" allMemberName="所有性别">
<Table name="user" />
<Level name="性别" column="sex" uniqueMembers="true" />
</Hierarchy>
</Dimension>
<Dimension name="职务" foreignKey="post" >
<Hierarchy hasAll="true" primaryKey="post" allMemberName="所有职务">
<Table name="user" />
<Level name="等级" column="grade" uniqueMembers="true" />
<Level name="职称" column="post" uniqueMembers="true" />
<Level name="性别" column="sex" uniqueMembers="true" />
</Hierarchy>
</Dimension>
<Measure name="人数" column="username" aggregator="count" />
</Cube>
</Schema>
这个时候运行就会出现:Mondrian Error:Duplicate table alias的错误
需要对表名进行重命名,将上面Table加上一个alias的属性就可以解决问题
<Table name="user" alias ="a" />
Mondrian OLAP 解决方案
本文介绍使用Mondrian进行OLAP开发时遇到的Duplicatetablealias错误及解决办法。通过合理配置XML Schema文件,特别是设置表别名(alias),解决了在同一立方体内展示同一表中多个维度的问题。
1893

被折叠的 条评论
为什么被折叠?



