Uploaded image for project: 'Pentaho Analysis - Mondrian'
  1. Pentaho Analysis - Mondrian
  2. MONDRIAN-877

Olap4j Parsing is not working with Named Sets

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Severity: High
    • Resolution: Incomplete
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:
      None
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.

      Description

      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);
      

      The generated MDX query is

      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]
      

      But i get the below error when i try to validate and execute the above SelectNode, below is the stack trace

      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)
      

      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

       try {
                  mdxParsetest.mdxValidator.validateSelect(mdxParsetest.parsedObject);
              } catch (OlapException e) {
                  System.out.println("Execution failed: " + e);
              }
      
               CellSet cSet = mdxParsetest.statement.executeOlapQuery(mdxParsetest.parsedObject);
      

      WorkAround: Skipping Validation

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              venkatesh20 Venkatesh
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: