public class MemberValueCalc extends GenericCalc
The evaluator's context is preserved.
Note that a MemberValueCalc with 0 member expressions is equivalent to a
ValueCalc
; see also TupleValueCalc
.
exp, type
Constructor and Description |
---|
MemberValueCalc(Exp exp,
MemberCalc memberCalc,
boolean nullCheck)
Creates a MemberArrayValueCalc.
|
Modifier and Type | Method and Description |
---|---|
static GenericCalc |
create(Exp exp,
MemberCalc[] memberCalcs,
boolean nullCheck)
|
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.
|
evaluateBoolean, evaluateDateTime, evaluateDimension, evaluateDouble, evaluateHierarchy, evaluateInteger, evaluateLevel, evaluateMember, evaluateString, evaluateTuple, evaluateVoid, numberToDouble
accept, anyDepends, anyDependsButFirst, butDepends, collectArguments, getArguments, getName, getResultStyle, getType, isWrapperFor, simplifyEvaluator, unwrap
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
accept, getResultStyle, getType, isWrapperFor, unwrap
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 cubepublic static GenericCalc create(Exp exp, MemberCalc[] memberCalcs, boolean nullCheck)
exp
- ExpressionmemberCalcs
- Array of members to evaluatenullCheck
- Whether to check for null values due to non-joining
dimensions in a virtual cubepublic Object evaluate(Evaluator evaluator)
Calc
evaluator
- Provides dimensional context in which to evaluate
this expressionpublic 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
- HierarchyCopyright © 2018 Hitachi Vantara. All rights reserved.