|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmondrian.calc.impl.AbstractCalc
mondrian.calc.impl.GenericCalc
mondrian.calc.impl.TupleValueCalc
public class TupleValueCalc
Expression which evaluates a tuple expression, sets the dimensional context to the result of that expression, then yields the value of the current measure in the current dimensional context.
The evaluator's context is preserved.
ValueCalc
,
MemberValueCalc
Field Summary |
---|
Fields inherited from class mondrian.calc.impl.AbstractCalc |
---|
exp, type |
Constructor Summary | |
---|---|
TupleValueCalc(Exp exp,
TupleCalc tupleCalc)
Creates a TupleValueCalc. |
Method Summary | |
---|---|
boolean |
dependsOn(Hierarchy hierarchy)
Returns whether this expression depends upon a given hierarchy. |
java.lang.Object |
evaluate(Evaluator evaluator)
Evaluates this expression. |
Calc[] |
getCalcs()
Returns this expression's child expressions. |
Calc |
optimize()
Optimizes the scalar evaluation of a tuple. |
Methods inherited from class mondrian.calc.impl.GenericCalc |
---|
evaluateBoolean, evaluateDateTime, evaluateDimension, evaluateDouble, evaluateHierarchy, evaluateInteger, evaluateLevel, evaluateMember, evaluateString, evaluateTuple, evaluateVoid, numberToDouble |
Methods inherited from class mondrian.calc.impl.AbstractCalc |
---|
accept, anyDepends, anyDependsButFirst, butDepends, getArguments, getName, getResultStyle, getType, simplifyEvaluator |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface mondrian.calc.Calc |
---|
accept, getResultStyle, getType |
Constructor Detail |
---|
public TupleValueCalc(Exp exp, TupleCalc tupleCalc)
exp
- ExpressiontupleCalc
- Compiled expression to evaluate the tupleMethod Detail |
---|
public java.lang.Object evaluate(Evaluator evaluator)
Calc
evaluator
- Provides dimensional context in which to evaluate
this expression
public Calc[] getCalcs()
AbstractCalc
getCalcs
in class AbstractCalc
public boolean dependsOn(Hierarchy hierarchy)
Calc
If it does not depend on the hierarchy, then re-evaluating the expression with a different member of this context must produce the same answer.
Some examples:[Measures].[Unit Sales]
depends on all dimensions except [Measures]
.
([Measures].[Unit Sales],
[Time].[1997]) > 1000
depends on all hierarchies except [Measures] and [Time].
Filter([Store].[USA].Children,
[Measures].[Unit Sales] < 50)
depends upon all hierarchies except [Store] and [Measures].
How so? Normally the scalar expression would depend upon all hierarchies
except [Measures], but the Filter
function sets the [Store]
context before evaluating the scalar expression, so it is not inherited
from the surrounding context.
dependsOn
in interface Calc
dependsOn
in class AbstractCalc
hierarchy
- Hierarchy
public Calc optimize()
WITH MEMBER [Measures].[Sales last quarter]
AS ' ([Measures].[Unit Sales], [Time].PreviousMember '
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |