XL3MemberNavigate
Revision as of 17:14, 17 March 2011 by Colin Overton (talk) (→Examples (based on the Bicycle Sales cube))
Returns a member based on its relationship to the member passed in. Allows you to navigate a hierarchy, moving between members and levels using formulae alone.
Use the Insert Formula > Member Navigate menu or ribbon item to insert the formula using a wizard.
Contents
[hide]Syntax
XL3MemberNavigate( Connection, Hierarchy, Member or Level, Relationship, [Index] )
Parameters
Parameter | Description |
---|---|
Connection | Connection number to use |
Hierarchy | Name of the hierarchy that the member applies to e.g. "Measures" or "[Customer].[Customer Geography]" |
Member or Level | Members or Level to use as starting position |
Relationship | Relationship of the desired member to the Member or Level passed in, see below |
Index | Index of the member in the Relationship, meaning depends on the Relationship |
Relationship types
The valid relationship types are as follows, and the meaning of the Index parameter is decribed for each.
Relationship | Member or Level | Description |
---|---|---|
FirstMember | Level | By default returns the first member of the specified level. If the Index parameter is passed it gets that member of the level. |
LastMember | Level | By default returns the last member of the specified level. If the Index parameter is passed it gets the member that distance from the end of the level. |
Members | Level | Equivalent to FirstMember or LastMember. If index is positive it acts like FirstMember, if it is negative it acts like LastMember. |
Parent | Member | Gets the parent of the member passed in. If index is greater than one it gets the ancestor at that distance. |
Next | Member | Gets the next member following the member passed in. If index is greater than one then it skips forwards that distance. |
Previous | Member | Gets the previous member preceding the member passed in. If index is greater than one then it skips backwards that distance. |
FirstSibling | Member | Gets the first member with the same parent as the member passed in. If index is greater than one then it gets the child at that index. |
LastSibling | Member | Gets the last member with the same parent as the member passed in. If index is greater than one then it gets the child at that index from the end of the children. |
Siblings | Member | Equivalent to FirstSibling or LastSibling. If index is positive it acts like FirstSibling, if it is negative it acts like LastSibling. |
FirstChild | Member | Gets the first child of the member passed in. If index is greater than one then it gets the child as that index. |
LastChild | Member | Gets the last child of the member passed in. If index is greater than one then it gets the child at that index from the end of the children. |
Children | Member | Equivalent to FirstChild or LastChild. If index is positive it acts like FirstChild, if it is negative it acts like LastChild. |
Examples (based on the Bicycle Sales cube)
Level Relationships
These examples assume that [Time].[Year] is in cell A1
=XL3MemberNavigate( 1, "Time", A1, "FirstMember" ) Returns 2002
=XL3MemberNavigate( 1, "Time", A1, "LastMember", 2 ) Returns 2004
Member Relationships
These examples assume that [Time].[All].&[2003].&[Q2] is in cell A1