Skip to main content


class %DeepSee.Model.dimension extends %DeepSee.Model.node

Meta-data for a dimension within a DeepSee cube. Subclasses of this class are used to implement specific types of dimension.

Property Inventory

Method Inventory


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 methods: allCaptionDisplayToLogical(), allCaptionGet(), allCaptionIsValid(), allCaptionLogicalToDisplay(), allCaptionLogicalToOdbc(), allCaptionNormalize(), allCaptionSet()
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.
Property methods: allDisplayNameDisplayToLogical(), allDisplayNameGet(), allDisplayNameIsValid(), allDisplayNameLogicalToDisplay(), allDisplayNameLogicalToOdbc(), allDisplayNameNormalize(), allDisplayNameSet()
property calendar as %DeepSee.Datatype.string (VALUELIST = ",gregorian,partial,hijriTabular,hijriObserved", XMLPROJECTION = "ATTRIBUTE");
Specifies which calendar is to be used if this is a time dimension
Property methods: calendarDisplayToLogical(), calendarGet(), calendarIsValid(), calendarLogicalToDisplay(), calendarLogicalToOdbc(), calendarNormalize(), calendarSet()
relationship cube as %DeepSee.Model.cube (XMLPROJECTION = "none") [ Inverse = dimensions , Cardinality = one ];
Cube that this dimension belongs to.
Property methods: cubeGet(), cubeGetObject(), cubeGetObjectId(), cubeGetSwizzled(), cubeIsValid(), cubeNewObject(), cubeRClose(), cubeRExec(), cubeRFetch(), cubeRelate(), cubeSQLCompute(), cubeSet(), cubeUnRelate()
property hasAll as %Library.Boolean (XMLPROJECTION = "attribute") [ InitialExpression = 1 ];
Indicates whether this dimension has an "All" level.
The default is true.
Property methods: hasAllDisplayToLogical(), hasAllGet(), hasAllIsValid(), hasAllLogicalToDisplay(), hasAllLogicalToXSD(), hasAllNormalize(), hasAllSet(), hasAllXSDToLogical()
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.
Property methods: hiddenDisplayToLogical(), hiddenGet(), hiddenIsValid(), hiddenLogicalToDisplay(), hiddenLogicalToXSD(), hiddenNormalize(), hiddenSet(), hiddenXSDToLogical()
relationship hierarchies as array of %DeepSee.Model.hierarchy (XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE") [ InitialExpression = $listbuild("%DeepSee.Model.hierarchy","dimension",+$this,"many",0,0) , Transient , 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 methods: hierarchiesGet(), hierarchiesGetObject(), hierarchiesGetObjectId(), hierarchiesGetSwizzled(), hierarchiesIsEmpty(), hierarchiesIsValid(), hierarchiesNewObject(), hierarchiesRClose(), hierarchiesRExec(), hierarchiesRFetch(), hierarchiesRelate(), hierarchiesSQLCompute(), hierarchiesSet(), hierarchiesUnRelate()
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 methods: iKnowMeasureDisplayToLogical(), iKnowMeasureGet(), iKnowMeasureIsValid(), iKnowMeasureLogicalToDisplay(), iKnowMeasureLogicalToOdbc(), iKnowMeasureNormalize(), iKnowMeasureSet()
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 methods: iKnowTypeDisplayToLogical(), iKnowTypeGet(), iKnowTypeIsValid(), iKnowTypeLogicalToDisplay(), iKnowTypeLogicalToOdbc(), iKnowTypeNormalize(), iKnowTypeSet()
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 methods: sharesFromDisplayToLogical(), sharesFromGet(), sharesFromIsValid(), sharesFromLogicalToDisplay(), sharesFromLogicalToOdbc(), sharesFromNormalize(), sharesFromSet()
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 methods: showHierarchiesDisplayToLogical(), showHierarchiesGet(), showHierarchiesIsValid(), showHierarchiesLogicalToDisplay(), showHierarchiesLogicalToOdbc(), showHierarchiesNormalize(), showHierarchiesSet()
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 methods: sourceExpressionDisplayToLogical(), sourceExpressionGet(), sourceExpressionIsValid(), sourceExpressionLogicalToDisplay(), sourceExpressionLogicalToOdbc(), sourceExpressionNormalize(), sourceExpressionSet()
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 methods: sourcePropertyDisplayToLogical(), sourcePropertyGet(), sourcePropertyIsValid(), sourcePropertyLogicalToDisplay(), sourcePropertyLogicalToOdbc(), sourcePropertyNormalize(), sourcePropertySet()
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".
Property methods: typeDisplayToLogical(), typeGet(), typeIsValid(), typeLogicalToDisplay(), typeLogicalToOdbc(), typeNormalize(), typeSet()


method %AtScaleExport(pStatus As %Status = $$$OK, ByRef pAuxiliaryIndex As %DynamicAbstractObject = $$$NULLOREF) as %DynamicAbstractObject
Produce the structures needed to emit the appropriate JSON and export this item to AtScale
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.

Inherited Members

Inherited Properties

Inherited Methods


FeedbackOpens in a new tab