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, numberToDoubleaccept, anyDepends, anyDependsButFirst, butDepends, collectArguments, getArguments, getName, getResultStyle, getType, isWrapperFor, simplifyEvaluator, unwrapclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaccept, getResultStyle, getType, isWrapperFor, unwrappublic 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)
Calcevaluator - Provides dimensional context in which to evaluate
this expressionpublic Calc[] getCalcs()
AbstractCalcgetCalcs 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 - HierarchyCopyright © 2021 Hitachi Vantara. All rights reserved.