When Creating an olap4j data source in PRD, I can preview my query successfully, but when I try to save it I now get a different error:
java.lang.IndexOutOfBoundsException: Coordinate 4 of axis 1 is out of range (1, 17)
at org.olap4j.driver.xmla.XmlaOlap4jCellSet.coordinatesToOrdinal(XmlaOlap4jCellSet.java:695)
at org.olap4j.driver.xmla.XmlaOlap4jCellSet.getCell(XmlaOlap4jCellSet.java:582)
at org.pentaho.reporting.engine.classic.extensions.datasources.olap4j.BandedMDXTableModel.getCellDataAttributes(BandedMDXTableModel.java:483)
at org.pentaho.reporting.engine.classic.core.cache.CachableTableModel.<init>(CachableTableModel.java:65)
at org.pentaho.reporting.engine.classic.core.cache.EhCacheDataCache.put(EhCacheDataCache.java:103)
at org.pentaho.reporting.engine.classic.core.cache.CachingDataFactory.queryData(CachingDataFactory.java:331)
at org.pentaho.reporting.engine.classic.core.designtime.DesignTimeDataSchemaModel.queryReportData(DesignTimeDataSchemaModel.java:389)
at org.pentaho.reporting.engine.classic.core.designtime.DesignTimeDataSchemaModel.buildDataSchema(DesignTimeDataSchemaModel.java:319)
at org.pentaho.reporting.engine.classic.core.designtime.DesignTimeDataSchemaModel.ensureDataSchemaValid(DesignTimeDataSchemaModel.java:245)
at org.pentaho.reporting.engine.classic.core.designtime.DesignTimeDataSchemaModel.getColumnNames(DesignTimeDataSchemaModel.java:453)
at org.pentaho.reporting.designer.core.editor.fieldselector.FieldSelectorPanel.computeColumns(FieldSelectorPanel.java:133)
at org.pentaho.reporting.designer.core.editor.fieldselector.FieldSelectorPanel$ReportModelChangeHandler.nodeChanged(FieldSelectorPanel.java:68)
at org.pentaho.reporting.engine.classic.core.AbstractReportDefinition.fireModelLayoutChanged(AbstractReportDefinition.java:1398)
at org.pentaho.reporting.engine.classic.core.MasterReport.updateChangedFlagInternal(MasterReport.java:475)
at org.pentaho.reporting.engine.classic.core.Element.notifyNodeChildRemoved(Element.java:1135)
at org.pentaho.reporting.designer.core.actions.report.EditQueryAction.performEdit(EditQueryAction.java:175)
at org.pentaho.reporting.designer.core.editor.structuretree.StructureTreePanel$ReportTreeContextMenuHandler.mouseClicked(StructureTreePanel.java:154)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
at java.awt.Component.processMouseEvent(Component.java:6300)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at java.awt.Component.processEvent(Component.java:6062)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4660)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4245)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
at java.awt.Container.dispatchEventImpl(Container.java:2083)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:633)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:647)
at java.awt.EventQueue$3.run(EventQueue.java:645)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
java.lang.IndexOutOfBoundsException: Coordinate 4 of axis 1 is out of range (1, 17)
The simplest explanation for this is that PRD is generating an out-of-bounds cell reference. The cell set has 1 column and 17 rows, but the request is asking for column 4. Coordinates are 0-based, so the only valid column value is 0.
The error message should say "axis 0"; this is a minor bug on olap4j's part. I will fix it.
Julian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
FYI, the problem was with getCellDataAttributes() in engine/classic/extensions/datasources/olap4j/BandedMDXTableModel.java.
It was incorrectly mapping coordinates for cells in the banded table model to the underlying MDX resultset.
The latest PRD code on github has a fix for this. The fix is about 2 years old but wasn't included in the 3.9 Branch in the original SVN repository.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Following on from https://sourceforge.net/p/olap4j/discussion/577988/thread/6a690a3c/
I built a new version of pentaho-reporting-engine-datasource-editor-olap4j-3.9.0-GA.jar, including the fixes for
http://jira.pentaho.com/browse/PRD-3697
and
http://jira.pentaho.com/browse/PRD-3825
When Creating an olap4j data source in PRD, I can preview my query successfully, but when I try to save it I now get a different error:
I'm using
PRD 3.9.0 GA. 15557 + olap4j 1.2.0
SSAS 2012
On May 1, 2013, at 5:10 AM, "Alan Leavy" alanleavy@users.sf.net wrote:
The error message should say "axis 0"; this is a minor bug on olap4j's part. I will fix it.
Julian
Hi Julian,
FYI, the problem was with getCellDataAttributes() in engine/classic/extensions/datasources/olap4j/BandedMDXTableModel.java.
It was incorrectly mapping coordinates for cells in the banded table model to the underlying MDX resultset.
The latest PRD code on github has a fix for this. The fix is about 2 years old but wasn't included in the 3.9 Branch in the original SVN repository.
Good to know. Thanks.