|
Oracle® OLAP Java API Reference 10g Release 2 (10.2) B14348-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--oracle.olapi.metadata.BaseMetadataObject | +--oracle.olapi.metadata.mtm.MtmObject | +--oracle.olapi.metadata.mtm.MtmCube | +--oracle.olapi.metadata.mtm.MtmBaseCube | +--oracle.olapi.metadata.mtm.MtmUnsolvedCube
An MtmBaseCube
for which only leaf-level data is available directly from a relational table or view, and for which aggregate values are supplied by Oracle OLAP. The Oracle OLAP SQL generator uses one of three forms of aggregation to specify the aggregate values: GroupingSet, Rollup, or ET. You can discover or specify the aggregation form for an MtmUnsolvedCube
by calling its getAggregationForm
or setAggregationForm
methods.
To aggregate data for an MtmUnsolvedCube
, the SQL generator produces SQL code in the following format.
SELECT SUM(measure1), SUM(measure2), ..., SUM(measureN), dimension-keys FROM fact-table, dimension-tables WHERE join-condition GROUP BY group-by-clause
The format of group-by-clause
is controlled by the aggregation form specified for the MtmUnsolvedCube
. For example, assuming a single hierarchy with three levels, Y
, Q
, and M
, the GROUP BY
clause is constructed as follows.
GroupingSet: GROUP BY GROUPING SETS((Y), (Q), (M)) Rollup: GROUP BY Y, ROLLUP(Q, M) ET: GROUP BY Y, ROLLUP(Q, M)
The format of dimension-keys
is also controlled by the aggregation form, as shown below.
GroupingSet: SELECT Y, Q, M, GROUPING_ID(Y, Q, M) Rollup: SELECT Y, Q, M, GROUPING_ID(Y, Q, M) ET: SELECT (CASE GROUPING_ID(Y, Q, M) WHEN 3 THEN Y WHEN 1 THEN Q ELSE M END) et_value, GROUPING_ID(Y, Q, M)
The join-condition
is controlled by the MtmUnsolvedCubeDimensionality
objects for the MtmUnsolvedCube
.
An MtmUnsolvedCube
also specifies operations, or steps, that Oracle OLAP performs during the aggregation, such as applying a function to the measure value, weighting the value, or using the first or last child element when aggregating the measure values for a parent element of the hierarchy. You can discover the steps for an MtmUnsolvedCube
by calling its getSolveSpecification
method, and then calling the getAggregationSteps
method on the MtmAggregationSpecification
it returns. You can specify other values for the concrete instances of the MtmAggregationSpecification
objects with methods such as the setWeight
method of an MtmSimpleAggregationStep
.
You can create other subclasses of MtmAggregationStep
with methods of an MtmObjectFactory
and add them to the MtmAggregationSpecification
with the addAggregationStep
method. You can then use the MtmAggregationSpecification
as the input parameter of the setSolveSpecification
method of the MtmUnsolvedCube
.
You can also change the aggregation step for one or all of the hierarchies of this MtmUnsolvedCube
by using methods such as aggregateSimple
.
Method Summary | |
java.lang.Object |
acceptVisitor(MtmObjectVisitor visitor, java.lang.Object context) Calls the visitMtmUnsolvedCube method of the specified MtmObjectVisitor and passes that method this MtmUnsolvedCube and the specified context object. |
void |
addDimensionality(MtmCubeDimensionality dimensionality) Adds an MtmCubeDimensionality to this MtmUnsolvedCube . |
void |
aggregateFirst(MdmHierarchy hierarchy, boolean isHierarchical) Specifies an MtmFirstLastAggregationStep for the specified MdmHierarchy component of this MtmUnsolvedCube ; the aggregation type of the step is FIRST and the value of isHierarchical specifies whether the step uses the first value if that value is null . |
void |
aggregateLast(MdmHierarchy hierarchy, boolean isHierarchical) Specifies an MtmFirstLastAggregationStep for the specified MdmHierarchy component of this MtmUnsolvedCube ; the aggregation type of the step is LAST and the value of isHierarchical specifies whether the step uses the first value if that value is null . |
void |
aggregateSimple(MdmHierarchy hierarchy, java.lang.String function, MtmValueExpression weight) Specifies an MtmSimpleAggregationStep for the specified MdmHierarchy component of this MtmUnsolvedCube . |
void |
aggregateSum(MdmHierarchy hierarchy) Specifies an MtmSimpleAggregationStep for the specified MdmHierarchy component of this MtmUnsolvedCube ; the function of the simple aggregation step is SUM and its weighting factor is 1 . |
void |
aggregateWeightedAverage(MdmHierarchy hierarchy, MtmValueExpression weight, boolean isHierarchical) Specifies an MtmWeightedAverageAggregationStep for the specified MdmHierarchy component of this MtmUnsolvedCube ; the weighting factor of the step is weight and the value of isHierarchical specifies whether the step includes null values in the count of the measure values specified by the children of an element of the dimension hierarchy. |
java.lang.String |
getAggregationForm() Gets the aggregation form for this MtmUnsolvedCube . |
MtmSolveSpecification |
getSolveSpecification() Gets the MtmSolveSpecification that specifies operations that Oracle OLAP performs when aggregating the values of the measures of this MtmUnsolvedCube . |
java.lang.String |
getSQLHint() Gets the SQL hint to be embedded in the SELECT statement for this MtmUnsolvedCube . |
void |
removeAggregation(MdmHierarchy hierarchy) Removes the MtmAggregationStep , if any, for the specified MdmHierarchy component of this MtmUnsolvedCube . |
void |
removeDimensionality(MtmCubeDimensionality dimensionality) Removes an MtmCubeDimensionality from this MtmUnsolvedCube . |
void |
setAggregationForm(java.lang.String newAggregationForm) Specifies the form of aggregation that Oracle OLAP uses when aggregating the values of the measures of this MtmUnsolvedCube . |
void |
setSolveSpecification(MtmSolveSpecification solveSpec) Specifies operations that Oracle OLAP performs when aggregating the values of the measures of this MtmUnsolvedCube . |
void |
setSQLHint(java.lang.String newSQLHint) Specifies the SQL hint that the SQL generator embeds in the SELECT statement of this MtmUnsolvedCube . |
Methods inherited from class oracle.olapi.metadata.mtm.MtmBaseCube |
addMeasure, getDimensionality, getPartitionedCube, getTable, removeDimension, removeMeasure |
Methods inherited from class oracle.olapi.metadata.mtm.MtmCube |
getDimensionMaps, getMeasureMaps, getName, setName |
Methods inherited from class oracle.olapi.metadata.BaseMetadataObject |
getID |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
public java.lang.Object acceptVisitor(MtmObjectVisitor visitor, java.lang.Object context)
visitMtmUnsolvedCube
method of the specified MtmObjectVisitor
and passes that method this MtmUnsolvedCube
and the specified context
object.visitor
- An MtmObjectVisitor
.context
- An Object
.Object
returned by the visitMtmUnsolvedCube
method.public java.lang.String getAggregationForm()
MtmUnsolvedCube
.String
that indicates the aggregation form for this MtmUnsolvedCube
. Possible values are GroupingSet
, Rollup
, and ET
. The description of this class provides information about these three forms.public MtmSolveSpecification getSolveSpecification()
MtmSolveSpecification
that specifies operations that Oracle OLAP performs when aggregating the values of the measures of this MtmUnsolvedCube
.public java.lang.String getSQLHint()
SELECT
statement for this MtmUnsolvedCube
. For example, if the return value is no_rewrite
, then the Oracle OLAP SQL generator provides that text as a hint in the SELECT
statement. A hint is passed to the Oracle optimizer to help it choose an execution plan for a SELECT
statement.String
that is the hint for the SQL code that is generated for this MtmUnsolvedCube
.public void setAggregationForm(java.lang.String newAggregationForm)
MtmUnsolvedCube
. The aggregation forms are GroupingSet
, Rollup
, and ET
.newAggregationForm
- A String
that specifies the form of aggregation.public void setSolveSpecification(MtmSolveSpecification solveSpec)
MtmUnsolvedCube
.solveSpec
- An MtmSolveSpecification
that specifies the operation to perform during the aggregation.public void setSQLHint(java.lang.String newSQLHint)
SELECT
statement of this MtmUnsolvedCube
.newSQLHint
- A String
that specifies the SQL hint for this MtmUnsolvedCube
.public void addDimensionality(MtmCubeDimensionality dimensionality)
MtmCubeDimensionality
to this MtmUnsolvedCube
.dimensionality
- The MtmCubeDimensionality
to add to this MtmUnsolvedCube
.public void removeDimensionality(MtmCubeDimensionality dimensionality)
MtmCubeDimensionality
from this MtmUnsolvedCube
.dimensionality
- The MtmCubeDimensionality
to remove from this MtmUnsolvedCube
.public void aggregateSimple(MdmHierarchy hierarchy, java.lang.String function, MtmValueExpression weight)
MtmSimpleAggregationStep
for the specified MdmHierarchy
component of this MtmUnsolvedCube
. The function of the simple aggregation step is function
and its weighting factor is weight
. A hierarchy
value of null
specifies that the MtmSimpleAggregationStep
applies to all of the MdmHierarchy
component of this MtmUnsolvedCube
.hierarchy
- The MdmHierarchy
of this MtmUnsolvedCube
for which you want to specify an MtmSimpleAggregationStep
.function
- A String
that specifies the SQL function for the MtmSimpleAggregationStep
.weight
- An MtmValueExpression
that specifies the weighting factor for the MtmSimpleAggregationStep
. A value of null
specifies the default weight of 1.public void aggregateSum(MdmHierarchy hierarchy)
MtmSimpleAggregationStep
for the specified MdmHierarchy
component of this MtmUnsolvedCube
; the function of the simple aggregation step is SUM
and its weighting factor is 1
. A hierarchy
value of null
specifies that the MtmSimpleAggregationStep
applies to all of the MdmHierarchy
component of this MtmUnsolvedCube
.hierarchy
- The MdmHierarchy
of this MtmUnsolvedCube
for which you want to specify an MtmSimpleAggregationStep
.public void aggregateFirst(MdmHierarchy hierarchy, boolean isHierarchical)
MtmFirstLastAggregationStep
for the specified MdmHierarchy
component of this MtmUnsolvedCube
; the aggregation type of the step is FIRST
and the value of isHierarchical
specifies whether the step uses the first value if that value is null
. A hierarchy
value of null
specifies that the MtmFirstLastAggregationStep
applies to all of the MdmHierarchy
component of this MtmUnsolvedCube
.hierarchy
- The MdmHierarchy
of this MtmUnsolvedCube
for which you want to specify an MtmFirstLastAggregationStep
.isHierarchical
- A boolean
that specifies whether the step uses the first value if that value is null
.public void aggregateLast(MdmHierarchy hierarchy, boolean isHierarchical)
MtmFirstLastAggregationStep
for the specified MdmHierarchy
component of this MtmUnsolvedCube
; the aggregation type of the step is LAST
and the value of isHierarchical
specifies whether the step uses the first value if that value is null
. A hierarchy
value of null
specifies that the MtmFirstLastAggregationStep
applies to all of the MdmHierarchy
component of this MtmUnsolvedCube
.hierarchy
- The MdmHierarchy
of this MtmUnsolvedCube
for which you want to specify an MtmFirstLastAggregationStep
.isHierarchical
- A boolean
that specifies whether the step uses the first value if that value is null
.public void aggregateWeightedAverage(MdmHierarchy hierarchy, MtmValueExpression weight, boolean isHierarchical)
MtmWeightedAverageAggregationStep
for the specified MdmHierarchy
component of this MtmUnsolvedCube
; the weighting factor of the step is weight
and the value of isHierarchical
specifies whether the step includes null
values in the count of the measure values specified by the children of an element of the dimension hierarchy. A hierarchy
value of null
specifies that the MtmWeightedAverageAggregationStep
applies to all of the MdmHierarchy
component of this MtmUnsolvedCube
.hierarchy
- The MdmHierarchy
of this MtmUnsolvedCube
for which you want to specify an MtmFirstLastAggregationStep
.weight
- An MtmValueExpression
that specifies the weighting factor for the MtmWeightedAverageAggregationStep
.isHierarchical
- A boolean
that specifies whether the step includes null
values in the count of the measure values specified by the children of an element of the dimension hierarchy.public void removeAggregation(MdmHierarchy hierarchy)
MtmAggregationStep
, if any, for the specified MdmHierarchy
component of this MtmUnsolvedCube
.hierarchy
- The MdmHierarchy
of this MtmUnsolvedCube
for which you want to remove any MtmAggregationStep
.
|
Oracle® OLAP Java API Reference 10g Release 2 (10.2) B14348-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |