[Mondrian] Olap4j Parsing is not working with Named Sets

Venkatesh U venkatesh20 at gmail.com
Mon Jan 3 09:53:49 EST 2011


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/3d7cefb7/attachment.html 


More information about the Mondrian mailing list