[Mondrian] Re: Olap4j Parsing is not working with Named Sets

Venkatesh U venkatesh20 at gmail.com
Mon Jan 3 10:00:57 EST 2011


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

On Mon, Jan 3, 2011 at 8:23 PM, Venkatesh U <venkatesh20 at gmail.com> wrote:

> Hi,
>  I am trying a olap4j with simple example below. But it is not working
>
> *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)
>
> Could anyone please help to resolve this?
>
> Thanks in advance
>
> Venkatesh
>
>
> *
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20110103/a2b12445/attachment.html 


More information about the Mondrian mailing list