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?
…
<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?