java.lang.UnsupportedOperationException: need to implement class mondrian.mdx.NamedSetExpr

Pentaho BI Platform Tracking | Venkatesh | 6 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    {noformat} String mdxQuery2 = "WITH SET [TimeDimension-CurrentSelection] AS'" + "{[TimeDimension.MonthLevel].[JAN-2010]:[TimeDimension.MonthLevel].[MAR-2010]}'" + "SELECT [TimeDimension-CurrentSelection] on 0 " + "FROM [SpendAnalytics]"; mdxParsetest.parsedObject = mdxParsetest.parser.parseSelect(mdxQuery2); List<ParseTreeNode> wthSet = mdxParsetest.parsedObject.getWithList(); List<ParseTreeNode> DOWCurSel = new ArrayList<ParseTreeNode>(); DOWCurSel.add(new IdentifierNode( new IdentifierNode.NameSegment("DayOfWeek"), new IdentifierNode.NameSegment("MON"))); DOWCurSel.add(new IdentifierNode( new IdentifierNode.NameSegment("DayOfWeek"), new IdentifierNode.NameSegment("TUE"))); CallNode AggOfDow = new CallNode(null, "Aggregate", Syntax.Function, new CallNode(null, null, Syntax.Braces, DOWCurSel)); IdentifierNode AggDowSel = new IdentifierNode(new IdentifierNode.NameSegment("DayOfWeek"), new IdentifierNode.NameSegment("CurrentSelection")); WithMemberNode DayOfweekCurrentSelection = new WithMemberNode(null, AggDowSel, AggOfDow, null); wthSet.add(0, DayOfweekCurrentSelection); {noformat} The generated MDX query is {noformat} WITH MEMBER [DayOfWeek].[CurrentSelection] AS 'Aggregate({[DayOfWeek].[MON], [DayOfWeek].[TUE]})' SET [TimeDimension-CurrentSelection] AS '{([TimeDimension.MonthLevel].[JAN-2010] : [TimeDimension.MonthLevel].[MAR-2010])}' SELECT [TimeDimension-CurrentSelection] ON COLUMNS FROM [SpendAnalytics] {noformat} But i get the below error when i try to validate and execute the above SelectNode, below is the stack trace {noformat} Exception in thread "main" java.lang.UnsupportedOperationException: need to implement class mondrian.mdx.NamedSetExpr at mondrian.olap.Util.needToImplement(Util.java:1133) at mondrian.olap4j.MondrianOlap4jConnection$MondrianToOlap4jNodeConverter.toOlap4j(MondrianOlap4jConnection.java:755) at mondrian.olap4j.MondrianOlap4jConnection$MondrianToOlap4jNodeConverter.toOlap4j(MondrianOlap4jConnection.java:687) at mondrian.olap4j.MondrianOlap4jConnection$MondrianToOlap4jNodeConverter.toOlap4j(MondrianOlap4jConnection.java:785) at mondrian.olap4j.MondrianOlap4jConnection$MondrianToOlap4jNodeConverter.toOlap4j(MondrianOlap4jConnection.java:673) at mondrian.olap4j.MondrianOlap4jConnection.toOlap4j(MondrianOlap4jConnection.java:516) at mondrian.olap4j.MondrianOlap4jConnection$MondrianOlap4jMdxValidator.validateSelect(MondrianOlap4jConnection.java:655) at com.mdxparsetest.venki.MdxParseTest.main(MdxParseTest.java:123) {noformat} The interesting Part is it executes Successfully, If I dont try to validate the modified query. Below is the code snippet which i Used to validate the query {noformat} try { mdxParsetest.mdxValidator.validateSelect(mdxParsetest.parsedObject); } catch (OlapException e) { System.out.println("Execution failed: " + e); } CellSet cSet = mdxParsetest.statement.executeOlapQuery(mdxParsetest.parsedObject); {noformat} WorkAround: Skipping Validation

    Pentaho BI Platform Tracking | 6 years ago | Venkatesh
    java.lang.UnsupportedOperationException: need to implement class mondrian.mdx.NamedSetExpr

    Root Cause Analysis

    1. java.lang.UnsupportedOperationException

      need to implement class mondrian.mdx.NamedSetExpr

      at mondrian.olap.Util.needToImplement()
    2. mondrian.olap
      Util.needToImplement
      1. mondrian.olap.Util.needToImplement(Util.java:1133)
      1 frame
    3. mondrian.olap4j
      MondrianOlap4jConnection$MondrianOlap4jMdxValidator.validateSelect
      1. mondrian.olap4j.MondrianOlap4jConnection$MondrianToOlap4jNodeConverter.toOlap4j(MondrianOlap4jConnection.java:755)
      2. mondrian.olap4j.MondrianOlap4jConnection$MondrianToOlap4jNodeConverter.toOlap4j(MondrianOlap4jConnection.java:687)
      3. mondrian.olap4j.MondrianOlap4jConnection$MondrianToOlap4jNodeConverter.toOlap4j(MondrianOlap4jConnection.java:785)
      4. mondrian.olap4j.MondrianOlap4jConnection$MondrianToOlap4jNodeConverter.toOlap4j(MondrianOlap4jConnection.java:673)
      5. mondrian.olap4j.MondrianOlap4jConnection.toOlap4j(MondrianOlap4jConnection.java:516)
      6. mondrian.olap4j.MondrianOlap4jConnection$MondrianOlap4jMdxValidator.validateSelect(MondrianOlap4jConnection.java:655)
      6 frames
    4. com.mdxparsetest.venki
      MdxParseTest.main
      1. com.mdxparsetest.venki.MdxParseTest.main(MdxParseTest.java:123)
      1 frame