Assembly: Microsoft.AnalysisServices.AdomdClient (in microsoft.analysisservices.adomdclient.dll)
A member is an item in a hierarchy that represents one or more records in the underlying relational database. A member is the lowest level of reference used when accessing cell data in a cube.
Members are used to construct tuples, which in turn are used to construct sets. Members are organized hierarchically; a member can have other members associated with it. For example, in a time dimension that contains three levels named Year, Month, and Day, the members of the Day level are leaf members because they have no child members. The members in the Year and Month levels are nonleaf members, because each member in the Month level has at least 28 child members from the Day level and each member in the Year level has 12 child members from the Month level.
The Member encapsulates the information necessary to describe a member, including a collection of Member objects that contain child members, if applicable.
The information available to a Member depends on the parent of the Members collection from which the Member was retrieved. While the Members collection externally represents a collection of Member objects for a specified Hierarchy, Tuple, Level, or Member, the collection is internally loaded and managed in one of two ways, depending on the parent of the Hierarchy, Tuple, Level, or Member:
If the parent object was referenced through a CubeDef in order to retrieve metadata from the server, the collection represents the members that are defined for the parent object.
If the parent object was referenced through a CellSet in order to retrieve metadata from a query, the collection represents the members that are retrieved for the set (or axis) that contains the parent object.
The following subroutine, given a Hierarchy, iterates through the Members collection and displays information for each Member:
Public Overloads Sub ListMembers(ByRef HierarchyToCheck As Hierarchy) ' Check the parameter before performing actions on it. If HierarchyToCheck Is Nothing Then Throw New System.ArgumentNullException("HierarchyToCheck") Else ' Iterate through the Members collection of the ' Hierarchy object. Try Dim memberToCheck As Member Debug.WriteLine("Found " & HierarchyToCheck.Members.Count & _ " member(s) in hierarchy:") For Each memberToCheck In HierarchyToCheck.Members Debug.WriteLine("Member: " & memberToCheck.Name) Debug.WriteLine(" Caption: " & _ memberToCheck.Caption) Debug.WriteLine(" UniqueName: " & _ memberToCheck.UniqueName) Debug.WriteLine(" No. of children: " & _ memberToCheck.Children.Count) 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