mondrian.rolap
Class RolapNativeCrossJoin
java.lang.Object
mondrian.rolap.RolapNative
mondrian.rolap.RolapNativeSet
mondrian.rolap.RolapNativeCrossJoin
public class RolapNativeCrossJoin
- extends RolapNativeSet
creates a NativeEvaluator
that evaluates NON EMPTY
CrossJoin in SQL. The generated SQL will join the dimension tables with
the fact table and return all combinations that have a
corresponding row in the fact table. The current context (slicer) is
used for filtering (WHERE clause in SQL). This very effective computes
queris like
select ...
NON EMTPY crossjoin([product].[name].members, [customer].[name].members) on rows
froms [Sales]
where ([store].[store #14])
where both, customer.name and product.name have many members, but the resulting
crossjoin only has few.
The implementation currently can not handle sets containting
parent/child hierarchies, ragged hierarchies, calculated members and
the ALL member. Otherwise all
- Since:
- Nov 21, 2005
- Author:
- av
-
-
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RolapNativeCrossJoin
public RolapNativeCrossJoin()
restrictMemberTypes
protected boolean restrictMemberTypes()
- Description copied from class:
RolapNativeSet
- Returns whether certain member types(e.g. calculated members) should
disable native SQL evaluation for expressions containing them.
If true, expressions containing calculated members will be evaluated by
the interpreter, instead of using SQL.
If false, calc members will be ignored and the computation will be done
in SQL, returning more members than requested.
- Specified by:
restrictMemberTypes
in class RolapNativeSet
createEvaluator
NativeEvaluator createEvaluator(RolapEvaluator evaluator,
FunDef fun,
Exp[] args)
- Description copied from class:
RolapNative
- If function can be implemented in SQL, returns a NativeEvaluator that
computes the result; otherwise returns null.
- Specified by:
createEvaluator
in class RolapNative