abstract class %DeepSee.Query.member
extends %RegisteredObject
This class (or its subclass) is used by the DeepSee Query Engine
to process members within a DeepSee query.
A member object is not a node within an MDX query graph.
Certain nodes (namely the memberSpec node) will create
an instance of member object (based on the type of member) and delegate to it certain member-related
tasks. This is how the difference between time and data dimensions is implemented.
This is an abstract class, the actual work is done
by subclasses.
property %aggregate
as %DeepSee.Datatype.string;
Aggregate to apply to this measure (if applicable).
property %allName
as %DeepSee.Datatype.string;
Name for the all level for this member.
property %cube
as %DeepSee.Datatype.string;
Name of the cube this member belongs to.
property %dimNumber
as %Integer;
Dimension # referred to by the tuple.
property %hierNumber
as %Integer;
Hierarchy # referred to by the tuple.
property %levelNumber
as %Integer;
Level # referred to by the tuple.
property %memberId
as %DeepSee.Datatype.string;
Member id value (optional).
property %memberKey
as %DeepSee.Datatype.string;
Member key value (optional).
property %memberSpec
as %List [ MultiDimensional ];
Array of known value/id/key triplets for each level.
property %name
as %DeepSee.Datatype.string;
Member name or value referred to by the tuple.
property %tuple
as %DeepSee.Query.tuple;
The tuple object that owns this member.
property %type
as %DeepSee.Datatype.string;
Member type.
This indicates the context specified by the tuple expression.
The value can be one of the dst macros ($$$dstSet etc.).
This is used to determine which function can be applied to this tuple.
method %ApplyState(pType As %String)
as %Status
Set the state of this member using the current meta data node.
classmethod %GetMembers(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, pRollupKey As %String, pParent As %Integer, pKey As %String, ByRef pNodeNo As %Integer, pRecurse As %Integer = 0, ByRef pRange As %String, ByRef pMemberList)
as %Status
Get members and place them into the axis tree.
pRecurse, if 1, indicates that this function is to be called
recursively to build a tree of members. If -1, include the All level (if present)
and the top level (used by %TOPMEMBERS).
pRange, if defined, is an array contains a starting and ending
key value.
pMemberList, if defined, is an INLIST used for certain optimized member operations.
classmethod %HasFeature(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, pFeature As %String)
as %Boolean
Test if this member supports the given feature.
For example, "NOW".
method %SupportsFunction(pFunction As %String, Output pMessage As %String)
as %Boolean
Test if this member supports the given function.