Skip to main content

%DeepSee.Model.cube

Class %DeepSee.Model.cube Extends (node, %CSP.Portal.AbstractPortalModel) [ System = 3 ]

Meta-data object for a DeepSee cube.

Properties

inheritsFrom

Property inheritsFrom As %DeepSee.Datatype.entityName(XMLPROJECTION = "attribute");

Optional. If true, this is the name of another, pre-existing, cube that this cube inherits from.
A cube can only inherit from one base cube; there is no possibility of multiple-inheritance.

abstract

Property abstract As %Boolean(XMLPROJECTION = "attribute") [ InitialExpression = 0 ];

Optional. If true, then this cube definition is an "abstract" cube. It can be used as a base cube for other cubes, but it cannot be built (loaded with data) or queried against.

sourceClass

Property sourceClass As %DeepSee.Datatype.className(XMLPROJECTION = "attribute") [ Required ];

Name of class that provides the original data.
This should either be the name of persistent class or a subclass of %DeepSee.DataConnector.
This is used to generate code that updates the cube from the original data.
It is also used to enable drill-through.

version

Property version As %Integer(XMLPROJECTION = "attribute");

If a version number is present, on compile this class will generate a new class represetning this version of the cube and compile that. This new version can be built while the previous version is still active. Once activated, a new version will be queried.

actionClass

Property actionClass As %DeepSee.Datatype.className(XMLPROJECTION = "attribute");

Optional. Name of a DeepSee KPI class that provides Dashboard Actions for this cube.
If provided, then a dashboard based on this cube will be able to invoke the actions defined within the given KPI class.

resource

Property resource As %String(MAXLEN = 255, XMLPROJECTION = "attribute");

Optional. The resource needed to view or edit this cube:
If defined and the current user holds the USE privilege on this resource, then the user may view (run queries against) this item.
If defined and the current user holds the WRITE privilege on this resource, then the user may modify this item.

owner

Property owner As %DeepSee.Datatype.string(MAXLEN = 250, XMLPROJECTION = "attribute");

This is the user name of the owner of this cube.
This is used for determining some privileges for this cube.

initialBuildOrder

Property initialBuildOrder As %DeepSee.Datatype.string(MAXLEN = 2000, XMLPROJECTION = "attribute");

Optional. If specified, this is the ORDER BY clause applied to the SQL statement used when this cube is initially built (by %BuildCube). It must contain a valid ORDER BY clause, e.g., "DateOfBirth"
This makes it possible to apply an ordering to the initial facts loaded into a cube, which may be useful in some cases.
This property is ignored by cubes that use data connectors.
If this property is defined, then BuildCube will not use parallel processing. This ordering is not applied to incremental updates to the cube.

buildRestriction

Property buildRestriction As %DeepSee.Datatype.string(MAXLEN = 2000, XMLPROJECTION = "attribute");

Optional. If specified, this is placed in the WHERE clause applied to the SQL statement used when this cube is initially built (by %BuildCube). It must contain a valid SQL expression, e.g., "State='WY'"
This makes it possible to apply a restriction to the facts loaded into a cube, which may be useful in some cases.
This property is also used in the SQL queries used to update cubes. This property is ignored by cubes that use data connectors.

caption

Property caption As %DeepSee.Datatype.string(MAXLEN = 250, XMLPROJECTION = "attribute");

This is used as the caption text when utilities display this cube. This overrides the displayName property, if it is used.

namedFactNums

Property namedFactNums As %Boolean(XMLPROJECTION = "attribute");

This flag controls how fact numbers are assigned. If true, the compiler will expect that the factNumber is set for measures, levels, and relationships.

dimensions

Relationship dimensions As %DeepSee.Model.dimension(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Dimensions defined for this cube.

measures

Relationship measures As %DeepSee.Model.measure(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Measures defined for this cube.

relationships

Relationship relationships As %DeepSee.Model.relationship(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Relationships defined for this cube.

indices

Relationship indices As %DeepSee.Model.index(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Additional indices defined for this cube.
This provides a way to add extra indices to the fact table for the cube.

expressions

Relationship expressions As %DeepSee.Model.expression(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Additional expressions defined for this cube.
This provides a way to compute a value that can be used in one or more source expressions when building this cube.

defaultMeasure

Property defaultMeasure As %DeepSee.Datatype.entityName(XMLPROJECTION = "attribute") [ Deprecated ];

Deprecated.

defaultMember

Property defaultMember As %String(MAXLEN = 200, XMLPROJECTION = "attribute") [ Deprecated ];

Deprecated.

nullReplacement

Property nullReplacement As %DeepSee.Datatype.string(XMLPROJECTION = "attribute");

Optional. If defined, this is used as the display value for any members of any level within this cube whose value is null (missing) and has not has its local nullReplacement property set.

countMeasureName

Property countMeasureName As %DeepSee.Datatype.string(XMLPROJECTION = "attribute") [ InitialExpression = "%COUNT" ];

Optional. If defined, this is used as the logical name for the built-in %Count measure.

countMeasureCaption

Property countMeasureCaption As %DeepSee.Datatype.string(XMLPROJECTION = "attribute");

Optional. If defined, this is used as the (localized) display value for the built-in %Count measure.

calculatedMembers

Relationship calculatedMembers As %DeepSee.Model.calculatedMember(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Calculated members defined for this cube.

namedSets

Relationship namedSets As %DeepSee.Model.namedSet(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Named sets defined for this cube.

%timeFunctions

Property %timeFunctions As %String(XMLPROJECTION = "none") [ Internal, MultiDimensional ];

List of available cube time functions. Available when cube is compiled.

bucketSize

Property bucketSize As %Integer(MINVAL = 1, XMLPROJECTION = "attribute") [ InitialExpression = 8 ];

Specifies the size of the caching buckets used for this cube.
The bucket size is a number of data blocks, each containing 64000 facts. These are used to cache intermediate results by queries executed against this cube. For example, setting this to 10 would creates caching buckets that each contain 640000 facts.
In some cases, you may want to increase this value if you expect to have a large number of facts and do not expect many updates to older values within the cube.
If you change this value, you must be sure to delete all cached results for this cube. You can do this using the %KillCache method of the cube definition class.
The default value is 8.

bitmapChunkInMemory

Property bitmapChunkInMemory As %Boolean(XMLPROJECTION = "attribute") [ InitialExpression = 0 ];

Defines how to build indices for this cube.
If true, DeepSee builds its indices using local memory which is a faster means of doing this. For cubes with many indices (dimensions and measures) or dimensions with a *large* number of members, the set of index values might not fit in local memory, leading to a error when the cube is built. If this occurs, set this property to false to use a slower, non-local-memory algorithm (the default).

defaultListing

Property defaultListing As %String(MAXLEN = 255, XMLPROJECTION = "attribute");

Optional. If specified, this is the name of the listing (in the listing list) that is used as the default RETURN clause for DRILLTHROUGH queries against this cube.

listings

Relationship listings As %DeepSee.Model.listing(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Listings defined for this cube.
If no listings are defined, then the Show Listing feature of the Analyzer will be disabled.

listingFields

Relationship listingFields As %DeepSee.Model.listingField(XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ Cardinality = many, Inverse = cube ];

Listing fields defined for this cube.

precompute

Property precompute As %Integer(MAXVAL = 2, MINVAL = 0, XMLPROJECTION = "attribute") [ InitialExpression = 0 ];

Specify if certain aggregates and counts should be pre-computed when this cube is built. If set to 0, then no precomputation is done. If set 1, counts and aggregates based on 1 level are computed. If set to 2, then combinations of 2 levels are used.
For small cubes (less than 1 million facts) this does not have a very big impact. For larger cubes this can help the initial performance of certain queries, though over time, the cell cache will naturally build up the same set of values that would have been precomputed.
The default value is 0.

maxFacts

Property maxFacts As %Integer(MINVAL = 0, XMLPROJECTION = "attribute");

If defined, this specifies the maximum number of facts that are initially loaded into this cube by the %BuildCube method.
Note that this does exactly what it says; there may be less than this number loaded. For example, the %OnProcessFact method may be used to skip some records.
This is intended as a diagnostic aid when a cube is initially developed.

disableListingGroups

Property disableListingGroups As %Boolean(XMLPROJECTION = "attribute") [ InitialExpression = 0 ];

This setting controls whether the cube will accept the use of Listing Groups to define auxiliary listings.

enableSqlRestrict

Property enableSqlRestrict As %Boolean(XMLPROJECTION = "attribute") [ InitialExpression = 0 ];

Enable use of the special MDX %SQLRESTRICT clause with this cube.

Methods

%ProcessFunctions

Method %ProcessFunctions() As %Status

Build the list of available time functions.

%Validate

Method %Validate() As %Status

Validate this cube model for logical errors.

%ResolveInheritance

Method %ResolveInheritance() As %Status

Resolve inheritance for this cube; combine its model with that of its base cube, if present. JSL4414 : Make this method not internal

%ResolveSharedDimensions

Method %ResolveSharedDimensions(Output pConnections) As %Status [ Internal ]

Resolve any shared dimensions within this cube. Look for shared dimensions and merge their definition into this cube's. There can be no local override of a shared dimension.
Return a list of shared dimensions organized by target cube.

%ApplyOverridesForDocumatic

Method %ApplyOverridesForDocumatic()

JSL4414 -- new method Not supported for direct use by customers.

%AtScaleExport

Method %AtScaleExport(pStatus As %Status, ByRef pRefIndex As %DynamicAbstractObject = "") As %DynamicAbstractObject

Produce the structures needed to emit the appropriate JSON and export this item to AtScale

%AtScaleAddCustomSQLToDataset

Method %AtScaleAddCustomSQLToDataset(pDataset, pAuxiliary) As %Status

This Takes the information gathered into the pAuxiliary reference index during the model search and adds the custom SQL and column information to the target dataset.

%AtScaleAddColumnsToCalendarDataset

Method %AtScaleAddColumnsToCalendarDataset(pDataset, pAuxiliary) As %Status

This Takes the information gathered into the pAuxiliary reference index during the model search and adds the custom SQL and column information to the target dataset.