HierarchyCollection Class

 

Updated: March 10, 2016

Contains a read-only, on-demand collection of Hierarchy objects contained in a Dimension or a Set.

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

System.Object
  Microsoft.AnalysisServices.AdomdClient.HierarchyCollection

public sealed class HierarchyCollection : ICollection, IEnumerable

NameDescription
System_CAPS_pubpropertyCount

Gets the number of Hierarchy objects in the collection.

System_CAPS_pubpropertyIsSynchronized

Gets a value indicating whether access to the collection is synchronized (thread safe).

System_CAPS_pubpropertyItem[Int32]

Gets the specified Hierarchy from the collection by its index. In C#, this property is the indexer for the HierarchyCollection class.

System_CAPS_pubpropertyItem[String]

Gets the Hierarchy from the collection by its specified name. In C#, this property is the indexer for the HierarchyCollection class.

System_CAPS_pubpropertySyncRoot

Gets an object that can be used to synchronize access to the collection.

NameDescription
System_CAPS_pubmethodCopyTo(Hierarchy[], Int32)

Copies the elements of the collection to the specified array.

System_CAPS_pubmethodEquals(Object)

(Inherited from Object.)

System_CAPS_pubmethodFind(String)

Gets the specified Hierarchy from the collection by its name.

System_CAPS_pubmethodGetEnumerator()

Gets an enumerator for iterating through the collection.

System_CAPS_pubmethodGetHashCode()

(Inherited from Object.)

System_CAPS_pubmethodGetType()

(Inherited from Object.)

System_CAPS_pubmethodToString()

(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.CopyTo(Array, Int32)

Copies the elements of the HierarchyCollection to an array, starting at a particular array index.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

Gets an enumerator for iterating through the HierarchyCollection.

While the HierarchyCollection externally represents a collection of Hierarchy objects, the collection is internally loaded and managed in one of two ways, depending on the parent of the collection:

  • If the parent object was referenced as a result of a query, as in the case of a Set referenced from an Axis, the collection represents the members referenced by that query.

  • If the parent object was referenced as a result of a request for metadata, as in the case of a Dimension referenced from a CubeDef, the collection represents the members referenced by the definition of the parent object.

The following subroutine, given a Dimension, iterates through the HierarchyCollection collection and displays information about each hierarchy:

Public Overloads Sub ListHierarchies(ByRef DimToCheck As Dimension)

    ' Check the parameter before performing actions on it.
    If DimToCheck Is Nothing Then
        Throw New System.ArgumentNullException("DimToCheck")
    Else
        ' Iterate through the Hierarchies collection of the
        ' Dimension object.

        Try
            Dim hierToCheck As Hierarchy

            Debug.WriteLine("Found " & DimToCheck.Hierarchies.Count & _
                " hierarchies in dimension:")

            For Each hierToCheck In DimToCheck.Hierarchies
                Debug.WriteLine("Hierarchy:  " & hierToCheck.Name)
                Debug.WriteLine("  Caption:        " & _
                    hierToCheck.Caption)
                Debug.WriteLine("  Description:    " & _
                    hierToCheck.Description)
                Debug.WriteLine("  UniqueName:     " & _
                    hierToCheck.UniqueName)
            Next
        Catch ex As AdomdConnectionException
            ' The connection could not be opened or was disconnected.
            ' This error can occur at any time, if the provider is 
            ' disconnected from the server.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As AdomdErrorResponseException
            ' A response is received from a provider which indicates an error.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As AdomdUnknownResponseException
            ' A response has been returned from the provider that 
            ' was not understood.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As AdomdCacheExpiredException
            ' A cached version of an ADOMD.NET object is no longer valid.
            ' This error is typically raised when reviewing metadata.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As AdomdException
            ' Any other error raised by ADOMD.NET.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As Exception
            ' Any other error.
            Debug.WriteLine(ex)
            Throw ex
        End Try
    End If
End Sub

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: