Learning
Documentation
Community
Open Exchange
Global Masters
Home > Class Reference > %SYS namespace > %DeepSee.Query.member
Private  Storage   

%DeepSee.Query.member


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.

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
12 20


Summary


Properties
%aggregate %allName %cube %dimNumber %hierNumber
%levelNumber %memberId %memberKey %memberSpec %name
%tuple %type

Methods
%%OIDGet %AddToSaveSet %ApplyState %BindExport
%BuildObjectGraph %ClassIsLatestVersion %ClassName %Close
%ConstructClone %CreateMember %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %Extends %FindMemberByKey %FindMemberByName
%GetAllName %GetMemberOffset %GetMembers %GetNodeInfo
%GetNthChild %GetNullName %GetParameter %GetParentMember
%GetPropertyValue %GetRelatedMember %GetRollupKey %GetTimeOffset
%GetType %HasFeature %IncrementCount %IsA
%IsModified %New %NormalizeObject %ObjectModified
%OriginalNamespace %PackageName %ProcessMembers %RemoveFromSaveSet
%SerializeObject %SetLevelNo %SetModified %SupportsFunction
%ValidateObject

Subclasses
%DeepSee.Query.memberCalculated %DeepSee.Query.memberComputed %DeepSee.Query.memberData
%DeepSee.Query.memberMeasure %DeepSee.Query.memberRelationship %DeepSee.Query.memberTime

Properties


• 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.

Methods


• method %ApplyState(pType As %String) as %Status
Set the state of this member using the current meta data node.
• final classmethod %CreateMember(pClassName As %String, Output tSC As %Status, pCube As %String, pTuple As %DeepSee.Query.tuple, pDimNo As %Integer, pHierNo As %Integer, pAllName As %String = "") as %DeepSee.Query.member
Create an instance of %DeepSee.Query.member.
• method %FindMemberByKey(pKey As %String, pDim As %Integer, pHier As %Integer, Output pFlag As %Boolean, Output pMemberValue As %String, pRecurse As %Boolean = 1) as %Status
Find the member with the given key within the given hierarchy. If pRecurse is true, look at the current level and continue through higher levels until a match is found.
• method %FindMemberByName(pName As %String, pDim As %Integer, pHier As %Integer, Output pFlag As %Boolean, pLevel As %Integer = "", Output pMemberKey As %String) as %Status
See if there is a member with the given name within the specified dimension,hierarchy, and/or level.
If pLevel is supplied, only look in that level.
Set pFlag true if a member is found.
On return, fills in memberSpec
memberSpec(level) = $LB(name,key)

memberSpec(0) = $LB("All Time")
memberSpec(1) = $LB(2006,2006)
memberSpec(2) = $LB("Quarter 1", "Q1 2006")
memberSpec(3) = $LB("January","Jan 2006")
• final classmethod %GetAllName(pCubeName As %String, pDimNo As %Integer, Output pCaption As %String) as %String
Helper method: Get the ALL level name for dimension, if present. Also return the localized caption via pCaption.
• method %GetMemberOffset(Output pOffset As %Integer, pKey As %String, Output pParentKey As %String) as %Status
Return the ordinal position of this member within its parent group. For convenience, also return the parent key for this member.
• 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.
• final classmethod %GetNodeInfo(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, Output pFact As %String, Output pStarClass As %String, Output pStarField As %String, Output pStarSort As %String, Output pRollup As %String, Output pSortDir As %String, Output pFormat As %String, Output pMemberList As %String, Output pStarKeyField As %String) as %Boolean
Helper method: Get information about the given level from the cube meta data.
As a side effect, set the dependency variable, %dsDepends.
• classmethod %GetNthChild(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, pParent As %Integer, Output pSet As %List, pKey As %String, pNumber As %Integer) as %Status
Get the nth child of the current member and place it into pSet.
If pNumber is 1 return the first child; 2 for the second, etc.
If pNumber is -1 return the last child; -2 for the second from end, etc.
• final classmethod %GetNullName(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, Output pCaption As %String) as %String
Helper method: Get the Null Replacement value for the given level. Also return the localized caption via pCaption.
• classmethod %GetParentMember(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, pParent As %Integer, Output pSet As %List, pKey As %String) as %Status
Get the parent of the current member and place it into pSet.
• classmethod %GetPropertyValue(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, pProperty As %String, pParent As %Integer, Output pSet As %List, pKey As %String) as %Status
Lookup the value of the given dimension property.
• classmethod %GetRelatedMember(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, pRollupKey As %String, pParent As %Integer, Output pSet As %List, pKey As %String, pRelation As %String, pOffset As %Integer = 0, pValue As %String = "", pAllowMissing As %Integer = 0) as %Status
Get one member and place it into pSet.
pKey, is the key for the base member to return.
pRelation indicates how this member is related to the base member. "same","lead", "lag", etc.
pOffset, is an optional offset to apply to the relation.
• final method %GetRollupKey(pLevelNo As %Integer, pKey As %String, Output pRollupKey As %String) as %Status
Find the rollup key for the specified level.
• final classmethod %GetTimeOffset(pCubeName As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, Output pFormat As %String) as %String
Helper method: Get the time offset and format values for the given level.
• final method %GetType() as %String
Return the type of this member.
• 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 %ProcessMembers(pParent As %Integer, Output pSet As %List) as %Status
Process the member id, name, and key information for this member. Put the result into pSet.
• final method %SetLevelNo(pLevelNo As %Integer)
Set the current level number context for this member.
• method %SupportsFunction(pFunction As %String, Output pMessage As %String) as %Boolean
Test if this member supports the given function.