Hitachi Vantara Pentaho Community Forums
Results 1 to 3 of 3

Thread: Internal error on aggregated set with calculated member using parallel period

  1. #1
    Join Date
    Jun 2015
    Posts
    2

    Default Internal error on aggregated set with calculated member using parallel period

    Using Mondrian 4.0.0-SNAPSHOT (via Saiku's saiku-server) I have a Mondrian 4 schema including the following elements:




    <CalculatedMember name=“Sales last year”
    hierarchy="[Measures].[Measures]">
    <Formula>
    (
    [Measures].[Sales],
    ParallelPeriod(
    [Time].[Y-W].[Year],
    1,
    [Time].[Y-W].CurrentMember
    )
    )
    </Formula>
    </CalculatedMember>


    <CalculatedMember name=“weeks2015_sofar”
    hierarchy=“[Time].[Y-W]”
    <Formula>
    Aggregate(weeks2015)
    </Formula>
    </CalculatedMember>





    <NamedSet name=“weeks2015”>
    <Formula>
    {[Time].[2015].[1] : CurrentDateMember([Time].[Y-W], ‘[Time]\.[Y-W]\.[yyyy]\.[ww]')}
    </Formula>
    </NamedSet>

    ...


    When running the following mdx query


    SELECT
    NON EMPTY {[Measures].[Sales], [Measures].[Sales last year]} ON COLUMNS,
    NON EMPTY {weeks2015, weeks2015_sofar} ON ROWS
    FROM [Sales]



    I get a Mondrian excpetion: MondrianException: Mondrian Error:Internal error: member [Time].[Y-W].[weeks2015_sofar not found among its siblings.


    Here is the relevant snippet from the log:
    Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: member [Time].[Y-W].[weeks2015_sofar] not found among its siblings
    10532 at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:984)
    10533 at mondrian.olap.Util.newInternal(Util.java:2536)
    10534 at mondrian.rolap.SmartMemberReader$SiblingIterator.<init>(SmartMemberReader.java:471)
    10535 at mondrian.rolap.SmartMemberReader.getLeadMember(SmartMemberReader.java:308)
    10536 at mondrian.rolap.RolapSchemaReader.getLeadMember(RolapSchemaReader.java:507)
    10537 at mondrian.olap.DelegatingSchemaReader.getLeadMember(DelegatingSchemaReader.java:165)
    10538 at mondrian.olap.fun.ParallelPeriodFunDef.parallelPeriod(ParallelPeriodFunDef.java:159)
    10539 at mondrian.olap.fun.ParallelPeriodFunDef$1.evaluateMember(ParallelPeriodFunDef.java:125)
    10540 at mondrian.calc.impl.MemberArrayValueCalc.evaluate(MemberArrayValueCalc.java:63)
    10541 at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:719)
    10542 at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1016)
    10543 at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1100)
    10544 at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1100)
    10545 at mondrian.rolap.RolapResult.executeBody(RolapResult.java:892)
    10546 at mondrian.rolap.RolapResult.<init>(RolapResult.java:461)
    10547 at mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:500)
    10548 ... 7 more



    When I don't use measures like [Measures].[Sales last year] using parallelperiod but only "regular" measures, I have no errors.
    IS there a way to redefine the schma to avoid this and still be able to obtain column sums on the bottom for all measures?

  2. #2
    Join Date
    Jan 2013
    Posts
    796

    Default

    MONDRIAN-1725 is related to the error you're seeing. The problem is that ParallelPeriod is looking for a physical member at a parallel point in the tree. There is no parallel calculated member. Rather than throwing an error we decided with 1725 that the fix should be to follow SSAS's example and return null in such cases, although that change has not yet been made.

    To workaround this you could possibly add conditional logic to Sales last year which does its current expression when physical time members are in context, otherwise handles the date range aggregation itself.

  3. #3
    Join Date
    Nov 2016
    Posts
    3

    Default

    Quote Originally Posted by mcampbell View Post
    MONDRIAN-1725 is related to the error you're seeing. The problem is that ParallelPeriod is looking for a physical member at a parallel point in the tree. There is no parallel calculated member. Rather than throwing an error we decided with 1725 that the fix should be to follow SSAS's example and return null in such cases, although that change has not yet been made.

    To workaround this you could possibly add conditional logic to Sales last year which does its current expression when physical time members are in context, otherwise handles the date range aggregation itself.
    Hi,
    can you show me an example of this workaround use ?

    Thanks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.