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