Package mondrian.rolap
Class HierarchyUsage
- java.lang.Object
-
- mondrian.rolap.HierarchyUsage
-
public class HierarchyUsage extends Object
AHierarchyUsage
is the usage of a hierarchy in the context of a cube. Private hierarchies can only be used in their own cube. Public hierarchies can be used in several cubes. The problem comes when several cubes which the same public hierarchy are brought together in one virtual cube. There are now several usages of the same public hierarchy. Which one to use? It depends upon what measure we are currently using. We should use the hierarchy usage for the fact table which underlies the measure. That is what determines the foreign key to join on. AHierarchyUsage
is identified by(hierarchy.sharedHierarchy, factTable)
if the hierarchy is shared, or(hierarchy, factTable)
if it is private.- Since:
- 21 March, 2002
- Author:
- jhyde
-
-
Field Summary
Fields Modifier and Type Field Description protected MondrianDef.Relation
fact
Fact table (or relation) which this usage is joining to.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
String
getForeignKey()
String
getFullName()
String
getHierarchyName()
MondrianDef.Expression
getJoinExp()
MondrianDef.Relation
getJoinTable()
mondrian.rolap.HierarchyUsage.Kind
getKind()
String
getLevelName()
protected org.apache.logging.log4j.Logger
getLogger()
String
getName()
String
getSource()
String
getUsagePrefix()
int
hashCode()
boolean
isPrivate()
boolean
isShared()
boolean
isVirtual()
String
toString()
-
-
-
Field Detail
-
fact
protected final MondrianDef.Relation fact
Fact table (or relation) which this usage is joining to. This identifies the usage, and determines which join conditions need to be used.
-
-
Method Detail
-
getLogger
protected org.apache.logging.log4j.Logger getLogger()
-
getHierarchyName
public String getHierarchyName()
-
getFullName
public String getFullName()
-
getName
public String getName()
-
getForeignKey
public String getForeignKey()
-
getSource
public String getSource()
-
getLevelName
public String getLevelName()
-
getUsagePrefix
public String getUsagePrefix()
-
getJoinTable
public MondrianDef.Relation getJoinTable()
-
getJoinExp
public MondrianDef.Expression getJoinExp()
-
getKind
public mondrian.rolap.HierarchyUsage.Kind getKind()
-
isShared
public boolean isShared()
-
isVirtual
public boolean isVirtual()
-
isPrivate
public boolean isPrivate()
-
-