HierarchyCollection Class

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)

Syntax

'Declaration
<DefaultMemberAttribute("Item")> _
Public NotInheritable Class HierarchyCollection
    Implements ICollection, IEnumerable
[DefaultMemberAttribute("Item")] 
public sealed class HierarchyCollection : ICollection, IEnumerable
[DefaultMemberAttribute(L"Item")] 
public ref class HierarchyCollection sealed : ICollection, IEnumerable
/** @attribute DefaultMemberAttribute("Item") */ 
public final class HierarchyCollection implements ICollection, IEnumerable
DefaultMemberAttribute("Item") 
public final class HierarchyCollection implements ICollection, IEnumerable

Remarks

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.

Inheritance Hierarchy

System.Object
  Microsoft.AnalysisServices.AdomdClient.HierarchyCollection

Example

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

Thread Safety

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

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

HierarchyCollection Members
Microsoft.AnalysisServices.AdomdClient Namespace