%DeepSee.SubjectArea
Class %DeepSee.SubjectArea Extends (%RegisteredObject, %XML.Adaptor) [ CompileAfter = (%DeepSee.Model.SubjectArea.subjectArea, %DeepSee.Generator), System = 4 ]
This class is used to define DeepSee Subject Areas.
Each subclass of this class defines an active Subject Area. A Subject Area is analogous to an SQL view; it is based on an actual DeepSee Cube data model and can serve as the target of queries as if it were an actual cube model.
A Subject Area cannot define additional dimensions or measures but it can define:
- What dimensions and measures can be used in queries.
- What permissions are needed to query a cube
- How the data within a cube should be filtered.
- The default listing for this subject area.
XDatas
SubjectArea
XData SubjectArea [ XMLNamespace = "http://www.intersystems.com/deepsee/subjectarea" ]
This projection is used to keep track of when Subject areas are compiled or deleted. This XData definition defines the SubjectArea.
Methods
%Generate
ClassMethod %Generate() As %Status [ CodeMode = objectgenerator, Final, Internal ]
Process the model for this Subject Area and generate meta data.
%GetCubeName
ClassMethod %GetCubeName() As %String [ CodeMode = objectgenerator, GenerateAfter = %Generate ]
Return the logical name of the MDX cube defined by this subject area.
%GetFactCount
ClassMethod %GetFactCount() As %Integer [ CodeMode = objectgenerator, GenerateAfter = %Generate ]
Return number of facts in the base cube's fact table.
%OnExecuteListing
ClassMethod %OnExecuteListing(pSQL As %String) As %Status [ CodeMode = objectgenerator, GenerateAfter = %Generate ]
Notification that a listing (drillthrough) query is about to be executed.
This is called immediately before a listing query is executed. This is useful for cases where additional setup work is required before a listing query can run.
pSQL is the listing query that will be executed.
%GetFactClass
ClassMethod %GetFactClass() As %String [ CodeMode = objectgenerator, GenerateAfter = %Generate ]
Return name of the fact class used by the base cube.
%GetCubeCaption
ClassMethod %GetCubeCaption() As %String [ CodeMode = objectgenerator, GenerateAfter = %Generate ]
Return the caption of the subject area defined by this class. If not defined, the subject area name is returned.
%GetMemberCaption
ClassMethod %GetMemberCaption(pDimName As %String, pHierName As %String = "", pLevelName As %String = "", pPropName As %String = "") As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
For a given dimenions, hierarchy, and level return its localized caption.
%GetMemberDescription
ClassMethod %GetMemberDescription(pDimName As %String, pHierName As %String = "", pLevelName As %String = "", pPropName As %String = "") As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
For a given dimenions, hierarchy, and level return its localized caption.
%GetFilterSpec
ClassMethod %GetFilterSpec() As %String [ Final ]
Return the filter spec for this subject area.
%OnGetFilterSpec
ClassMethod %OnGetFilterSpec(pFilterSpec As %String) As %String
This callback gives a SubjectArea a chance to programmatically define its filter spec.
%GetDefaultListing
ClassMethod %GetDefaultListing() As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate ]
Return the name of the default listing for this SubjectArea, if any.
%OnGetDefaultListing
ClassMethod %OnGetDefaultListing() As %String
This callback gives a SubjectArea a chance to programmatically return the name of the listing to use as its default listing. This must be the name of a defined listing within the SubjectArea. Return "" to use the pre-defined default listing.
%CanDrillThrough
ClassMethod %CanDrillThrough() As %Boolean
Test if this cube supports drill through (listing) queries.
%IsAbstract
ClassMethod %IsAbstract() As %Boolean [ CodeMode = objectgenerator, GenerateAfter = %Generate ]
Test whether this subject area is abstract or not.
%IsCompound
ClassMethod %IsCompound(Output pJoinList As %String) As %Boolean [ CodeMode = objectgenerator, GenerateAfter = %Generate ]
Test whether this subject area is compound or not.
%GetCountCaption
ClassMethod %GetCountCaption() As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
Return the (localized) caption for the %COUNT measure used by this cube. Returns "" if this has not been overridden by the cube.
%GetCountName
ClassMethod %GetCountName() As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
Return the logical name for the %COUNT measure used by this cube.
%GetActionList
ClassMethod %GetActionList(ByRef pActions As %List) As %Status [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
Return list of possible actions for this Subject Area. This simply dispatches to the base cube's method.
%GetListingCaption
ClassMethod %GetListingCaption(pListing As %String) As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
Return the (localized) caption for a given listing within this cube.
%GetListingDescription
ClassMethod %GetListingDescription(pListing As %String) As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
Return the (localized) description for a given listing within this cube.
%GetListingFieldCaption
ClassMethod %GetListingFieldCaption(pField As %String) As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
Return the (localized) caption for a given listing field within this cube.
%GetListingFieldDescription
ClassMethod %GetListingFieldDescription(pField As %String) As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
Return the (localized) description for a given listing field within this cube.
%GetLevelMemberCaption
ClassMethod %GetLevelMemberCaption(pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer, pName As %String) As %String [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
For a pre-defined member within a given level in this cube, return its (localized) caption (display name).
%OnGetComputedMembers
ClassMethod %OnGetComputedMembers(pDimName As %String, pHierName As %String, pLevelName As %String, ByRef pMemberList, pRollupKey As %String = "", ByRef pRange As %String = "") As %Status [ CodeMode = objectgenerator, Final, GenerateAfter = %Generate, Internal ]
This callback gives a Cube a chance to programmatically provide a set of members for a computed dimension.
This simply dispatches to the base cube's method.