class %DeepSee.Model.cube
extends node
Meta-data object for a DeepSee cube.
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.
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.
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).
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.
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.
relationship calculatedMembers
as %DeepSee.Model.calculatedMember(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = cube,Cardinality = many ];
Calculated members defined for this cube.
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.
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.
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.
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.
property defaultMeasure
as %DeepSee.Datatype.entityName(XMLPROJECTION="attribute");
Deprecated.
property defaultMember
as %String(MAXLEN=200,XMLPROJECTION="attribute");
Deprecated.
relationship dimensions
as %DeepSee.Model.dimension(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = cube,Cardinality = many ];
Dimensions defined for this cube.
relationship expressions
as %DeepSee.Model.expression(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = cube,Cardinality = many ];
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.
relationship indices
as %DeepSee.Model.index(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = cube,Cardinality = many ];
Additional indices defined for this cube.
This provides a way to add extra indices to the fact table for the cube.
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.
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.
relationship listings
as %DeepSee.Model.listing(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = cube,Cardinality = many ];
Listings defined for this cube.
If no listings are defined, then the Show Listing feature of the Analyzer will be disabled.
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.
relationship measures
as %DeepSee.Model.measure(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = cube,Cardinality = many ];
Measures defined for this cube.
relationship namedSets
as %DeepSee.Model.namedSet(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = cube,Cardinality = many ];
Named sets defined for this cube.
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.
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.
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.
relationship relationships
as %DeepSee.Model.relationship(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = cube,Cardinality = many ];
Relationships defined for this cube.
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.
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.
method %ProcessFunctions()
as %Status
Build the list of available time functions.
method %Validate()
as %Status
Validate this cube model for logical errors.