class %DeepSee.Model.dimension
extends node
Meta-data for a dimension within a DeepSee cube.
Subclasses of this class are used to implement specific
types of dimension.
property allCaption
as %DeepSee.Datatype.string(XMLPROJECTION="attribute");
Optional. Specifies the name used for the All level for this dimension.
If not provided, then "All" + dimension name is used.
property allDisplayName
as %DeepSee.Datatype.string(XMLPROJECTION="attribute");
Optional. Specifies the localized name used for the All level for this dimension.
If defined, this is the text displayed by DeepSee applications,
otherwise the allCaption is used.
relationship cube
as %DeepSee.Model.cube(XMLPROJECTION="none") [ Inverse = dimensions,Cardinality = one ];
Cube that this dimension belongs to.
property hasAll
as %Library.Boolean(XMLPROJECTION="attribute") [ InitialExpression = 1 ];
Indicates whether this dimension has an "All" level.
The default is true.
property hidden
as %Boolean(XMLPROJECTION="attribute") [ InitialExpression = 0 ];
If true, this dimension is hidden. That is, it will not be listed among the
cube's members within the various DeepSee utilities.
It can still be used within MDX queries and expressions.
relationship hierarchies
as %DeepSee.Model.hierarchy(XMLELEMENTREF=1,XMLPROJECTION="ELEMENT",XMLTYPECONSTRAINT="CHOICE") [ Inverse = dimension,Cardinality = many ];
Set of hierarchies defined for this dimension.
Via a set of levels, a hierarchy defines a way in which this dimension can roll up.
property iKnowMeasure
as %DeepSee.Datatype.string(XMLPROJECTION="attribute");
Optional. For "iKnow" dimensions, this is the name of the "iKnow" measure that provides the
data for this dimension.
property iKnowType
as %DeepSee.Datatype.string(VALUELIST=",entity,dictionary",XMLPROJECTION="attribute");
Optional. For "iKnow" dimensions, this provides a way to define the specific way in which
iKnow works with this dimension.
property sharesFrom
as %DeepSee.Datatype.entityName(XMLPROJECTION="attribute");
Optional. If true, this is the name of another, pre-existing, cube that this
dimension shares from. This means that the other cube has a dimension of the same name
and that the dimensional tables of the other cube are used to track members of the dimension
in *this* cube.
property showHierarchies
as %DeepSee.Datatype.string(VALUELIST=",true,false,default",XMLPROJECTION="ATTRIBUTE") [ InitialExpression = "default" ];
If "true", then always display this dimension's hierarchies within the Analyzer.
If "false", then never display hierarchies. If "default", then only show hierarchies if
there is more than one hierarchy.
This has no effect on the operation of the cube.
property sourceExpression
as %ZEN.Datatype.expression(LANGUAGE="OBJECTSCRIPT",XMLPROJECTION="attribute");
Optional expression used to get the value of this member.
This can refer to properties of the source table using the
syntax: "%source.Property".
property sourceProperty
as %DeepSee.Datatype.string(XMLPROJECTION="attribute");
Name of the property in the source data that provides the
value for this element.
If specified, this is used as a default value for any
level within this dimension that does not explicitly define
a sourceProperty.
For time dimensions, this property must be defined.
Using dot syntax, it is possible to refer to a property within
a related class, for example "City.Name" or "City.State.Name".
property type
as %DeepSee.Datatype.string(VALUELIST=",measures,data,time,age,computed,iKnow",XMLPROJECTION="ATTRIBUTE") [ InitialExpression = "data" ];
Specifies what type of dimension this is.
The type can be one of the following:
- "measures" - reserved.
- "data" - this dimension is based on data values supplied from a source property or expression.
One or more dimension tables are generated to hold the set of possible values.
- "time" - this dimension is based on time values. No dimension tables are generated, instead
the hierarchy of time classes are used to process the values for this dimension.
- "age" - similar to "time" except that
the hierarchy of age classes are used to process the values for this dimension.
- "computed" - a computed dimension that uses a special dimension class (dimensionClass) to process its values.
- "iKnow" - a dimension that makes use of text processed by the iKnow Smart Indexing API. This must be linked to
an "iKnow" measure (iKnowMeasure) which supplies the values for this dimension.
If not specified, then the type will be set to "data".
final classmethod %GetSQLColumnName(pClass As %String, pProp As %String)
as %String
Returns the SQL name of property pProp for class pClass.
classmethod %GetSQLTableName(pClass As %String)
as %String
Return the SQL table name for the given class name.
method %Validate()
as %Status
Test if this dimension's definition is valid.