Skip to main content

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