Class 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 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()
      • getKind

        public mondrian.rolap.HierarchyUsage.Kind getKind()
      • isShared

        public boolean isShared()
      • isVirtual

        public boolean isVirtual()
      • isPrivate

        public boolean isPrivate()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object