|
|||||||||
| 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.MemberValueCalc
public class MemberValueCalc
Expression which evaluates a few member expressions, sets the dimensional context to the result of those expressions, then yields the value of the current measure in the current dimensional context.
The evaluator's context is preserved.
Note that a MemberValueCalc with 0 member expressions is equivalent to a
ValueCalc; see also TupleValueCalc.
| Field Summary |
|---|
| Fields inherited from class mondrian.calc.impl.AbstractCalc |
|---|
exp, type |
| Constructor Summary | |
|---|---|
MemberValueCalc(Exp exp,
MemberCalc memberCalc,
boolean nullCheck)
Creates a MemberArrayValueCalc. |
|
| Method Summary | |
|---|---|
static GenericCalc |
create(Exp exp,
MemberCalc[] memberCalcs,
boolean nullCheck)
Creates a ValueCalc, MemberValueCalc or
MemberArrayValueCalc. |
boolean |
dependsOn(Hierarchy hierarchy)
Returns whether this expression depends upon a given hierarchy. |
Object |
evaluate(Evaluator evaluator)
Evaluates this expression. |
Calc[] |
getCalcs()
Returns this expression's child expressions. |
| 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, collectArguments, getArguments, getName, getResultStyle, getType, isWrapperFor, simplifyEvaluator, unwrap |
| 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, isWrapperFor, unwrap |
| Constructor Detail |
|---|
public MemberValueCalc(Exp exp,
MemberCalc memberCalc,
boolean nullCheck)
Clients outside this package should use the
create(mondrian.olap.Exp,
mondrian.calc.MemberCalc[], boolean)
factory method.
exp - ExpressionmemberCalc - Compiled expressionnullCheck - Whether to check for null values due to non-joining
dimensions in a virtual cube| Method Detail |
|---|
public static GenericCalc create(Exp exp,
MemberCalc[] memberCalcs,
boolean nullCheck)
ValueCalc, MemberValueCalc or
MemberArrayValueCalc.
exp - ExpressionmemberCalcs - Array of members to evaluatenullCheck - Whether to check for null values due to non-joining
dimensions in a virtual cube
public Object evaluate(Evaluator evaluator)
Calc
evaluator - Provides dimensional context in which to evaluate
this expression
public Calc[] getCalcs()
AbstractCalc
getCalcs in class AbstractCalcpublic boolean dependsOn(Hierarchy hierarchy)
CalcIf 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 CalcdependsOn in class AbstractCalchierarchy - Hierarchy
|
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||