Pentaho Mondrian/Pivot4j错误java.lang.IndexOutOfBoundsException与闭包表

Pentaho Mondrian/Pivot4j错误java.lang.IndexOutOfBoundsException与闭包表,pentaho,mondrian,pivot4j,Pentaho,Mondrian,Pivot4j,这是一个场景: Pentaho 5.4.0 CE Pivot4j插件 如果在Mondrian XML模式中,我使用以下选项插入层次结构类型为parent-child(使用闭包表定义)的维度,效果良好(也就是说,我可以查看结果表并深入到父子层次结构元素): 定义属性“nameColumn”(参考事实表字段) 属性“captionColumn”为空(未指定字段) 如果我尝试将两个属性定义更改为 定义属性“nameColumn”(参考事实表字段) 定义属性“captionColumn”(参考

这是一个场景:

  • Pentaho 5.4.0 CE
  • Pivot4j插件
如果在Mondrian XML模式中,我使用以下选项插入层次结构类型为parent-child(使用闭包表定义)的维度,效果良好(也就是说,我可以查看结果表并深入到父子层次结构元素):

  • 定义属性“nameColumn”(参考事实表字段)
  • 属性“captionColumn”为空(未指定字段)
如果我尝试将两个属性定义更改为

  • 定义属性“nameColumn”(参考事实表字段)
  • 定义属性“captionColumn”(参考另一个事实表字段)
我从Pivot4Jjava.lang.IndexOutOfBoundsException获取错误:索引:2,大小:2。只有使用闭包表定义的维度才会发生这种情况,在标准维度中,我可以同时设置属性,而不会出错

知道吗,我怎么解决这个问题?这是一个问题,因为我需要使用包含最终用户标签值的captionColumn属性,而nameColumn包含昵称。我在Pentaho 6.0中也遇到了同样的问题

这是我在pentaho日志中看到的:

... Caused by: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
at java.util.ArrayList.get(ArrayList.java:411)
at mondrian.rolap.SqlMemberSource.makeMember(SqlMemberSource.java:1072)
at mondrian.rolap.SqlMemberSource.getMemberChildren2(SqlMemberSource.java:1004)
at mondrian.rolap.SqlMemberSource.getMemberChildren(SqlMemberSource.java:881)
at mondrian.rolap.SqlMemberSource.getMemberChildren(SqlMemberSource.java:854)
at mondrian.rolap.SmartMemberReader.readMemberChildren(SmartMemberReader.java:249)
at mondrian.rolap.SmartMemberReader.getMemberChildren(SmartMemberReader.java:211)
at mondrian.rolap.RolapCubeHierarchy$CacheRolapCubeHierarchyMemberReader.readMemberChildren(RolapCubeHierarchy.java:600)
at mondrian.rolap.RolapCubeHierarchy$CacheRolapCubeHierarchyMemberReader.getMemberChildren(RolapCubeHierarchy.java:696)
at mondrian.rolap.SmartMemberReader.getMemberChildren(SmartMemberReader.java:177)
at mondrian.rolap.RestrictedMemberReader.getMemberChildren(RestrictedMemberReader.java:101)
at mondrian.rolap.SmartRestrictedMemberReader.getMemberChildren(SmartRestrictedMemberReader.java:85)
at mondrian.rolap.RolapSchemaReader.internalGetMemberChildren(RolapSchemaReader.java:186)
at mondrian.rolap.RolapSchemaReader.getMemberChildren(RolapSchemaReader.java:168)
at mondrian.rolap.RolapSchemaReader.getMemberChildren(RolapSchemaReader.java:162)
at mondrian.olap4j.MondrianOlap4jMember$3.execute(MondrianOlap4jMember.java:111)
at mondrian.olap4j.MondrianOlap4jMember$3.execute(MondrianOlap4jMember.java:110)
at mondrian.server.Locus.execute(Locus.java:86)
at mondrian.server.Locus.execute(Locus.java:71)
at mondrian.olap4j.MondrianOlap4jMember.getChildMemberCount(MondrianOlap4jMember.java:105)
at org.pivot4j.impl.QueryAdapter.canExpand(QueryAdapter.java:838)
at org.pivot4j.transform.impl.DrillExpandPositionImpl.canExpand(DrillExpandPositionImpl.java:44)
at org.pivot4j.ui.command.DrillExpandPositionCommand.canExecute(DrillExpandPositionCommand.java:69)
at org.pivot4j.ui.AbstractPivotRenderer.getCommands(AbstractPivotRenderer.java:146)
at org.pivot4j.ui.table.TableRenderer.access$100(TableRenderer.java:60)
at org.pivot4j.ui.table.TableRenderer$3.handleTreeNode(TableRenderer.java:649)
at org.pivot4j.ui.table.TableHeaderNode.walkChildrenAtColIndex(TableHeaderNode.java:915)
at org.pivot4j.ui.table.TableHeaderNode.walkChildrenAtColIndex(TableHeaderNode.java:931)
at org.pivot4j.ui.table.TableRenderer.renderBody(TableRenderer.java:611)
at org.pivot4j.ui.table.TableRenderer.render(TableRenderer.java:483)
at org.pivot4j.analytics.ui.ViewHandler.render(ViewHandler.java:597)
at org.pivot4j.analytics.ui.ViewHandler.structureChanged(ViewHandler.java:963)
at org.pivot4j.impl.PivotModelImpl.fireStructureChanged(PivotModelImpl.java:833)
at org.pivot4j.impl.PivotModelImpl$1.queryChanged(PivotModelImpl.java:111)
at org.pivot4j.impl.QueryAdapter.fireQueryChanged(QueryAdapter.java:197)
at org.pivot4j.impl.QueryAdapter.fireQueryChanged(QueryAdapter.java:182)
at org.pivot4j.impl.QueryAdapter.onQuaxChanged(QueryAdapter.java:1109)
at org.pivot4j.impl.QueryAdapter$1.quaxChanged(QueryAdapter.java:79)
at org.pivot4j.impl.Quax.fireQuaxChanged(Quax.java:163)
at org.pivot4j.impl.Quax.regeneratePosTree(Quax.java:648)
at org.pivot4j.transform.impl.PlaceHierarchiesOnAxesImpl.placeHierarchies(PlaceHierarchiesOnAxesImpl.java:88)
at org.pivot4j.transform.impl.PlaceHierarchiesOnAxesImpl.addHierarchy(PlaceHierarchiesOnAxesImpl.java:119)
at org.pivot4j.analytics.ui.NavigatorHandler.addHierarhy(NavigatorHandler.java:548)
at org.pivot4j.analytics.ui.NavigatorHandler.addHierarhy(NavigatorHandler.java:516)
at org.pivot4j.analytics.ui.NavigatorHandler.onDropOnAxis(NavigatorHandler.java:392)
at org.pivot4j.analytics.ui.NavigatorHandler.onDropOnAxis(NavigatorHandler.java:365)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
... 77 more

我也有同样的问题。发布了一个bug-我认为这是mondrian bug,不是pivot4j。我也有同样的问题。发布了一个bug-我认为这是蒙德里安bug,不是pivot4j。