Database Reference
In-Depth Information
TableĀ 8.5 Product Dimension Member,
Alias, and Le vel
Member
Alias
Level
Product
Product
2
100
Colas
1
100-10
Cola
0
100-20
Diet Cola
0
100-30
Caffeine Free Cola
0
The output from this call is as follows.
=== IEssCube.getMember ===
Name: Cola
Level: 0
Related Members-Parent: Error: Cannot perform operation. The cube
outline is not open. This operation is not allowed on member objects
obtained using IEssCube.getMember and is allowed only on member
objects obtained using open outline or member selection sequence.
he IEssCube.getMember method is very easy to use, but it is easy to see its draw-
backs. The first drawback is that IEssMember objects obtained using this technique can
return only a few properties. The available properties, which are documented in the
IEssCube.getMember documentation, include the name, level, generation, consolidation
type, dimension name, dimension number, parent member name, first child member
name, previous and next sibling names, member number, and a flag that indicates if
the member is a dimension root member. As you can see, any attempt to call an unsup-
ported method throws an exception.
Another drawback is that the IEssCube.getMember method only returns base mem-
bers and will never return a shared member. In most cases, this is not a problem.
however, if you are writing an application that needs to get information about all of
the members in the outline hierarchy and you have shared members, this method is a
poor choice. one of the most efficient algorithms for getting information from a tree
structure, like an Essbase outline, is called a preordered walk algorithm. This algorithm
walks down the tree structure using the information about the parent, the first child,
and the next sibling nodes (or members ) in the tree. If you use IEssCube.getMember in
your code, however, you will never get accurate parent or sibling information when you
encounter a shared member because the call to the getMember method will return the
base member and not the shared member instance. As a result, your code will enter an
infinite loop and run until you terminate the program execution.
In addition to the shared member problem, there is another problem with this
technique. The documentation for this method is inconsistent in that it states that the
first child member name and sibling information are available in IEssMember objects
returned via getMember . however, the documentation for IEssMember shows that the
getFirstChildMemberName , getPreviousSiblingMemberName, and getNextSiblingMem-
berName methods have been marked as deprecated . A deprecated method is a method
that has been officially marked by the authors to be avoided as it may later be removed.
he IEssMember object does have a new method, getRelatedMembers , which is intended
to return this information. unfortunately, the new getRelatedMembers method is not
supported with IEssCube.getMember .
Search WWH ::




Custom Search