Open Exchange
Global Masters
Home > Class Reference > %SYS namespace > %DeepSee.Query.memberSpec
Private  Storage   


class %DeepSee.Query.memberSpec extends

This class defines a member specification within a DeepSee query.
A member specification defines a specific member from a dimension such as "[Product]", "[Product].[Name]", or "[Location}.[Boston]".
A set of members may be grouped within a single tuple or a single member may exist stand-alone.
Every memberSpec has a corresponding member object that implements any operations needed to be run against the member, such as getting a list of dimension members for a given member.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 11


%member %memberKeys %resolvedQuoted %resolvedSpec
children parent spec value

%%OIDGet %AddToSaveSet %BindExport %BuildObjectGraph
%ClassIsLatestVersion %ClassName %Close %ConstructClone
%ConstructMemberSpec %CopyNode %DeleteNode %DispatchClassMethod
%DispatchGetModified %DispatchGetProperty %DispatchMethod %DispatchSetModified
%DispatchSetMultidimProperty %DispatchSetProperty %Extends %GetMemberDisplayValues
%GetMemberProvider %GetParameter %GetType %GetValue
%HideNode %IncrementCount %IsA %IsEnabled
%IsModified %New %NormalizeObject %ObjectModified
%OriginalNamespace %PackageName %PreProcess %PrintNode
%ProcessAxes %ProcessFilter %ReduceNode %RemoveFromSaveSet
%ResolveValue %SerializeObject %SetModified %SpecToMember
%ToString %ValidateObject %XMLGenerate XMLAfterExport
XMLBeforeExport XMLDTD XMLExport XMLExportInternal
XMLExportToStream XMLExportToString XMLGetSchemaImports XMLImport
XMLImportInternal XMLIsObjectEmpty XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType


• property %member as %DeepSee.Query.member(XMLPROJECTION="none");
Member object that provides the member API for this member. This is created during the pre-processing phase.
• property %memberKeys as %String(XMLPROJECTION="none") [ MultiDimensional ];
Resolved member keys, if any.
• property %resolvedQuoted as %String(XMLPROJECTION="none") [ MultiDimensional ];
This array holds a list of which items in the resolved list are quoted.
• property %resolvedSpec as %String(XMLPROJECTION="none") [ MultiDimensional ];
This array holds our member spec *after* it has been resolved.
• property spec as %DeepSee.Datatype.string(MAXLEN=32000,XMLPROJECTION="attribute");
Specification string for this member. This is text from the query.


• classmethod %ConstructMemberSpec(pSpec As %String, Output pMemberSpec As %DeepSee.Query.memberSpec) as %Status
Given a member spec, create a memberSpec object that can be used to access members.
• method %GetMemberDisplayValues(pCubeName As %String = "", Output pLevelName="", Output pMemberName="") as %Status
Retrieve the display names for the level and member of a memberSpec object. This is used for converting a logical node in a query object to values suitable for use in the user interface.
• method %GetMemberProvider() as %DeepSee.Query.member
Return the member provider object associated with this node.
• method %GetType() as %String
Return type of this node.
• method %IsEnabled(pCube As %String = "", Output pStatus As %Status = $$$OK, Output pReason As %String = "") as %Boolean
Test this node to make sure all data referenced by the spec is enabled in this cube.
• method %PreProcess(pIsSlicer As %Boolean = 0) as %Status
Execute the pre-processing logic for this node.
• method %ProcessAxes(pCube As %String, pKey As %String, ByRef pNodeNo As %Integer, Output pNewNodeNo As %Integer, pParent As %Integer, pVisible As %Boolean = 1) as %Status
Execute and build the axes output for this tuple.
• method %ProcessFilter(ByRef pFilterTree As %List, pCube As %String, ByRef pNodeNo As %Integer, Output pNewNodeNo As %Integer, pParent As %Integer) as %Status
Process the filter output for this tuple
• method %ResolveValue() as %Status
Break our spec into it constituent parts.
If the spec contains named parameters, resolve them.
We do this as soon as we are first asked for our value and then we hold onto the resolved value.
• method %SpecToMember(ByRef pSpec, ByRef pQuoted, ByRef pMemberKey, Output pMember As %DeepSee.Query.member) as %Status
Parse the given member spec and create a member API object from it.
A member spec is of the form "A.B.C"; it is passed via the array pSpec: pSpec(1)=A, etc.
The array pQuoted indicates whether a part of the spec is a quoted identifier (and thus cannot be a function).
The array pMemberKey indicates whether a part of the spec is member key (e.g., &2007).
On return pMember contains the member provider object that can be used to process the member.
We assume that if the spec contained a function it was already removed before this point.
• method %ToString(Output pSC As %Status) as %String
Convert this node to its text representation.