HierarchyOrigin Enumeration


Updated: March 10, 2016

Describes the overall structure of a hierarchy.

Namespace:   Microsoft.AnalysisServices.AdomdClient
Assembly:  Microsoft.AnalysisServices.AdomdClient (in Microsoft.AnalysisServices.AdomdClient.dll)

public enum HierarchyOrigin

Member nameDescription

Specifies that the hierarchy is an attribute hierarchy. Note   This enumeration is not supported on versions of Analysis Services that are earlier than Microsoft SQL Server 2005 Analysis Services (SSAS).


Specifies that the hierarchy is a parent-child hierarchy.


Specifies that the hierarchy is a user-defined hierarchy.

The following subroutine examines a CellSet, listing each axis and the hierarchies contained by each axis, and then displays the HierarchyOrigin value for each Hierarchy.

Public Sub ListHierarchyOrigins(ByRef CellSetToCheck As CellSet)
    Dim SampleAxis As Microsoft.AnalysisServices.AdomdClient.Axis
    Dim SampleHierarchy As Hierarchy

    With CellSetToCheck

        ' First, output the number of axes contained by the cellset.
        Console.WriteLine("The cellset has {0} axes.", _

        ' Iterate through each axis to examine the 
        ' hierarchies for each axis.
        For Each SampleAxis In CellSetToCheck.Axes
            Console.WriteLine("Axis '{0}' has {1} hierarchies.", _
                SampleAxis.Name, _

            ' Iterate through each hierarchy contained by an axis.
            For Each SampleHierarchy In SampleAxis.Set.Hierarchies
                ' Check the HierarchyOrigin value to determine if the
                ' hierarchy is balanced or unbalanced.
                Dim TempString As String
                Select Case SampleHierarchy.HierarchyOrigin
                    Case HierarchyOrigin.ParentChildHierarchy
                       TempString = "Parent/Child Hierarchy"
                    Case HierarchyOrigin.UserHierarchy
                       TempString = "User defined hierarchy"
                    Case HierarchyOrigin.AttributeHierarchy
                       TempString = "Attribute Hierarchy"
                    Case Else
                       TempString = "unknown"
                End Select
                Console.WriteLine("The structure for hierarchy '{0}' is {1}.", _
                    SampleHierarchy.Name, _
    End With
End Sub
Return to top