Skip to main content

%DeepSee.Query.memberFunction

Class %DeepSee.Query.memberFunction Extends function [ System = 3 ]

This class defines a member function within a DeepSee query.
A "member" function is a function that is syntactically part of a member: member.FUNC or member.FUNC(a)
These are sometimes referred to as operators within MDX.

Parameters

FUNCTIONCLASS

Parameter FUNCTIONCLASS = "mbr";

Used to indicate which class of functions this class supports.

Properties

%member

Property %member As %DeepSee.Query.member(XMLPROJECTION = "none") [ Internal ];

Member object that provides the member API for the member returned by this function, if any. This is created during the axis-processing phase.

%cmbrQualifier

Property %cmbrQualifier As %String(MAXLEN = 1000, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this contains additional functions to apply to the current member once it is resolved.

%cmbrWrapper

Property %cmbrWrapper As %String(MAXLEN = 1000, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this contains any MDX that wraps the current member.

%cmbrMarker

Property %cmbrMarker As %String(MAXLEN = 50, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this is used to output a marker value for this node when %ToString is called.

%cmbrAgg

Property %cmbrAgg As %String(MAXLEN = 50, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this is the function used to aggregate children of the currentMember reference, if any.

%cmbrMeasure

Property %cmbrMeasure As %String(MAXLEN = 255, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this is the name of the measure used to aggregate children of the currentMember reference, if any.

%cmbrLiteral

Property %cmbrLiteral As %String(MAXLEN = 2000, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this a literal value to apply to children of the currentMember reference, if any.

%cmbrLabel

Property %cmbrLabel As %String(MAXLEN = 250, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this is the label used for the current member.

%cmbrFormat

Property %cmbrFormat As %String(MAXLEN = 250, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this is the format used for the current member.

%cmbrRelSpec

Property %cmbrRelSpec As %String(MAXLEN = 2000, XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this is the relationship part of the member spec, if applicable. E.g., "[Doctors]".

%cmbrKeyText

Property %cmbrKeyText As %String(XMLPROJECTION = "none") [ Internal ];

For CurrentMember functions, this is the original request string for use in generating keys.

Methods

%GetMemberProvider

Method %GetMemberProvider() As %DeepSee.Query.member

Return the member provider object associated with this node.

%BuildFunctionMetaData

ClassMethod %BuildFunctionMetaData() As %Status

Test if function metadata is in the DeepSeeFunctionGLVN global. If not, put it there.

%ToString

Method %ToString(Output pSC As %Status) As %String

Convert this node to its text representation.

%PreProcess

Method %PreProcess(pIsSlicer As %Boolean = 0) As %Status

Execute the pre-processing logic for this node.

%ProcessAxes

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 [ Internal ]

Execute and build the axes output for this axis.

FXCurrentMember

Method FXCurrentMember(pCube As %String, pParent As %Integer, Output pSet As %List) As %Status [ Internal ]

Execute the CurrentMember function on the given member and place results into pSet.

FXMembers

Method FXMembers(pCube As %String, pKey As %String, ByRef pNodeNo As %Integer, pParent As %Integer, pMember As %DeepSee.Query.member, pIncludeCalc As %Boolean = 0, pTopMembers As %Boolean = 0) As %Status [ Internal ]

Execute the Members function on the given member and place results into the axis global.
This will return all members of the current node.
The work of getting the members is delegated to the member object pMember. If pIncludeCalc is true, return calculated members as well.

FXChildren

Method FXChildren(pCube As %String, pKey As %String, ByRef pNodeNo As %Integer, pParent As %Integer, pMember As %DeepSee.Query.member, pReturnSelf As %Boolean = 0) As %Status [ Internal ]

Execute the Children function on the given member and place results into pSet.
This will return all children of the current member node.
The work of getting the members is delegated to the member object pMember.

FXSiblings

Method FXSiblings(pCube As %String, pKey As %String, ByRef pNodeNo As %Integer, pParent As %Integer, pMember As %DeepSee.Query.member) As %Status [ Internal ]

Execute the Siblings function on the given member and place results into pSet.
This will return all siblings of the current member node.
The work of getting the members is delegated to the member object pMember.

FXFirstChild

Method FXFirstChild(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute the FirstChild function on the given member and place results into pSet.
This will return the first child of the current member node.
The work of getting the members is delegated to the member object pMember.

FXLastChild

Method FXLastChild(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute the LastChild function on the given member and place results into pSet.
This will return the last child of the current member node.
The work of getting the members is delegated to the member object pMember.

FXParent

Method FXParent(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute Parent function on the given member and place results into pSet.

FXAllMember

Method FXAllMember(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute %AllMember function on the given member and place results into pSet.
This finds the All member for the current dimension (if present).

FXAll

Method FXAll(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute the special %All function on the given member and place results into pSet.
This cause all references to this level along other rows and columns to be ignored. The slicer is still applied.

FXNot

Method FXNot(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute the special %NOT function on the given member and place results into pSet.
This adds a negation marker to the key for given member.

FXFirstSibling

Method FXFirstSibling(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute FirstSibling function on the given member and place results into pSet.

FXLastSibling

Method FXLastSibling(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute LastSibling function on the given member and place results into pSet.

FXPrevMember

Method FXPrevMember(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute PrevMember function on the given member and place results into pSet.

FXNextMember

Method FXNextMember(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List) As %Status [ Internal ]

Execute NextMember function on the given member and place results into pSet.

FXLag

Method FXLag(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List, ByRef pArgs As %DeepSee.Query.node) As %Status [ Internal ]

Execute Lag function on the given member and place results into pSet.

FXLead

Method FXLead(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List, ByRef pArgs As %DeepSee.Query.node) As %Status [ Internal ]

Execute Lead function on the given member and place results into pSet.
pArgs contains the array of arguments for this function.

FXProperties

Method FXProperties(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List, ByRef pArgs As %DeepSee.Query.node) As %Status [ Internal ]

Execute Properties function on the given member and place results into pSet.
pArgs contains the array of arguments for this function.

FXChangeAggregate

Method FXChangeAggregate(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List, pAggregate As %String) As %Status [ Internal ]

Change the default aggregate to pAggregate on the current measure and place results into pSet.

FXRank

Method FXRank(pCube As %String, pParent As %Integer, pMember As %DeepSee.Query.member, Output pSet As %List, ByRef pArgs As %DeepSee.Query.node) As %Status [ Internal ]

Execute the internal function %RANK on the given member and place results into pSet.
pArgs contains the array of arguments for this function.
This function is used when a RANK operation had to be run on a resolved CurrentMember.