mondrian.olap.fun.MondrianEvaluationException: Could not find an aggregator in the current evaluation context

Pentaho BI Platform Tracking | Matt Campbell | 4 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    Mondrian gives an error if a measure is present in a compound slicer with caculated members from a a dimension. For example, the following query produces the error: #ERR: mondrian.olap.fun.MondrianEvaluationException: Could not find an aggregator in the current evaluation context WITH MEMBER [Store].[aggCA] AS 'Aggregate({[Store].[USA].[CA].[Los Angeles], [Store].[USA].[CA].[San Francisco]})' MEMBER [Store].[aggOR] AS 'Aggregate({[Store].[USA].[OR].[Portland]})' SELECT FROM SALES WHERE [Measures].[Unit Sales] * { [Store].[aggCA], [Store].[aggOR] } mondrian.olap.fun.MondrianEvaluationException: Could not find an aggregator in the current evaluation context at mondrian.olap.fun.FunUtil.newEvalException(FunUtil.java:84) at mondrian.olap.fun.AggregateFunDef$AggregateCalc.aggregate(AggregateFunDef.java:99) at mondrian.olap.fun.AggregateFunDef$AggregateCalc.evaluate(AggregateFunDef.java:74) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1023) at mondrian.rolap.RolapResult.executeBody(RolapResult.java:885) at mondrian.rolap.RolapResult.<init>(RolapResult.java:465) at mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:671) at mondrian.rolap.RolapConnection.access$000(RolapConnection.java:51) at mondrian.rolap.RolapConnection$1.call(RolapConnection.java:622) at mondrian.rolap.RolapConnection$1.call(RolapConnection.java:620) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) The same query will succeed with non-calculated dimension members, or in non-compound slicer.

    Pentaho BI Platform Tracking | 4 years ago | Matt Campbell
    mondrian.olap.fun.MondrianEvaluationException: Could not find an aggregator in the current evaluation context
  2. 0

    Mondrian gives an error if a measure is present in a compound slicer with caculated members from a a dimension. For example, the following query produces the error: #ERR: mondrian.olap.fun.MondrianEvaluationException: Could not find an aggregator in the current evaluation context WITH MEMBER [Store].[aggCA] AS 'Aggregate({[Store].[USA].[CA].[Los Angeles], [Store].[USA].[CA].[San Francisco]})' MEMBER [Store].[aggOR] AS 'Aggregate({[Store].[USA].[OR].[Portland]})' SELECT FROM SALES WHERE [Measures].[Unit Sales] * { [Store].[aggCA], [Store].[aggOR] } mondrian.olap.fun.MondrianEvaluationException: Could not find an aggregator in the current evaluation context at mondrian.olap.fun.FunUtil.newEvalException(FunUtil.java:84) at mondrian.olap.fun.AggregateFunDef$AggregateCalc.aggregate(AggregateFunDef.java:99) at mondrian.olap.fun.AggregateFunDef$AggregateCalc.evaluate(AggregateFunDef.java:74) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1023) at mondrian.rolap.RolapResult.executeBody(RolapResult.java:885) at mondrian.rolap.RolapResult.<init>(RolapResult.java:465) at mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:671) at mondrian.rolap.RolapConnection.access$000(RolapConnection.java:51) at mondrian.rolap.RolapConnection$1.call(RolapConnection.java:622) at mondrian.rolap.RolapConnection$1.call(RolapConnection.java:620) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) The same query will succeed with non-calculated dimension members, or in non-compound slicer.

    Pentaho BI Platform Tracking | 4 years ago | Matt Campbell
    mondrian.olap.fun.MondrianEvaluationException: Could not find an aggregator in the current evaluation context

    Root Cause Analysis

    1. mondrian.olap.fun.MondrianEvaluationException

      Could not find an aggregator in the current evaluation context

      at mondrian.olap.fun.FunUtil.newEvalException()
    2. mondrian.olap.fun
      AggregateFunDef$AggregateCalc.evaluate
      1. mondrian.olap.fun.FunUtil.newEvalException(FunUtil.java:84)
      2. mondrian.olap.fun.AggregateFunDef$AggregateCalc.aggregate(AggregateFunDef.java:99)
      3. mondrian.olap.fun.AggregateFunDef$AggregateCalc.evaluate(AggregateFunDef.java:74)
      3 frames
    3. mondrian.rolap
      RolapConnection$1.call
      1. mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687)
      2. mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1023)
      3. mondrian.rolap.RolapResult.executeBody(RolapResult.java:885)
      4. mondrian.rolap.RolapResult.<init>(RolapResult.java:465)
      5. mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:671)
      6. mondrian.rolap.RolapConnection.access$000(RolapConnection.java:51)
      7. mondrian.rolap.RolapConnection$1.call(RolapConnection.java:622)
      8. mondrian.rolap.RolapConnection$1.call(RolapConnection.java:620)
      8 frames
    4. Java RT
      Thread.run
      1. java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      2. java.util.concurrent.FutureTask.run(FutureTask.java:138)
      3. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      4. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      5. java.lang.Thread.run(Thread.java:662)
      5 frames