Class HierarchyUsage

java.lang.Object
mondrian.rolap.HierarchyUsage

public class HierarchyUsage extends Object
A HierarchyUsage 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. A HierarchyUsage 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 Details

    • 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 Details

    • 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()
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object