Skip to main content


class %DeepSee.Model.level extends %DeepSee.Model.node, %DeepSee.Model.source

Meta-data for a hierarchy level within a dimension within a DeepSee cube.

Property Inventory

Method Inventory


property castAsNumeric as %Boolean (XMLPROJECTION = "attribute");
If true, the engine will treat the members of this level as numbers.
Property methods: castAsNumericDisplayToLogical(), castAsNumericGet(), castAsNumericIsValid(), castAsNumericLogicalToDisplay(), castAsNumericLogicalToXSD(), castAsNumericNormalize(), castAsNumericSet(), castAsNumericXSDToLogical()
property dependsOn as %DeepSee.Datatype.string (MAXLEN = 32000, XMLPROJECTION = "attribute");
If defined, this is an MDX expression identifying another level within this cube that this level depends on, e.g., "[Outlet].[H1].[City]"
This causes the following changes to this cube.
  1. An additional index is created based on the "master" level's fact and this level's fact.
  2. When the set of members for this level is produced it is filtered using this index.
Property methods: dependsOnDisplayToLogical(), dependsOnGet(), dependsOnIsValid(), dependsOnLogicalToDisplay(), dependsOnLogicalToOdbc(), dependsOnNormalize(), dependsOnSet()
property factNumber as %DeepSee.Datatype.string (XMLPROJECTION = "attribute");
Define a stable fact number for this level
Property methods: factNumberDisplayToLogical(), factNumberGet(), factNumberIsValid(), factNumberLogicalToDisplay(), factNumberLogicalToOdbc(), factNumberNormalize(), factNumberSet()
property hidden as %Boolean (XMLPROJECTION = "attribute") [ InitialExpression = 0 ];
If true, this level 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 hierarchy as %DeepSee.Model.hierarchy (XMLPROJECTION = "none") [ Inverse = levels , Cardinality = one ];
Hierarchy that this level belongs to.
Property methods: hierarchyGet(), hierarchyGetObject(), hierarchyGetObjectId(), hierarchyGetSwizzled(), hierarchyIsValid(), hierarchyNewObject(), hierarchyRClose(), hierarchyRExec(), hierarchyRFetch(), hierarchyRelate(), hierarchySQLCompute(), hierarchySet(), hierarchyUnRelate()
property list as %Boolean (XMLPROJECTION = "attribute") [ InitialExpression = 0 ];
If true, then the value for this level contains a list of items. Each distinct item is treated as a member of this level.
By default the list consists of a $List of items. You can also use a character-delimited list by setting the listDelimiter attribute.
A nullReplacement for a list property is applied when the entire list is missing. Missing elements within a list are simply ignored.
Property methods: listDisplayToLogical(), listGet(), listIsValid(), listLogicalToDisplay(), listLogicalToXSD(), listNormalize(), listSet(), listXSDToLogical()
property listDelimiter as %DeepSee.Datatype.string (MAXLEN = 1, XMLPROJECTION = "attribute");
Optional. If the list attribute for this level is true, then setting this will cause the list to be interpreted as a character delimited value using this attribute as the delimiter character.
Property methods: listDelimiterDisplayToLogical(), listDelimiterGet(), listDelimiterIsValid(), listDelimiterLogicalToDisplay(), listDelimiterLogicalToOdbc(), listDelimiterNormalize(), listDelimiterSet()
deprecated property memberList as %DeepSee.Datatype.string (XMLPROJECTION = "attribute");
Optional. If defined, this is a comma-delimited list of the members that are to be displayed for this level in the given order.
This is deprecated in favor of the members collection.
Property methods: memberListDisplayToLogical(), memberListGet(), memberListIsValid(), memberListLogicalToDisplay(), memberListLogicalToOdbc(), memberListNormalize(), memberListSet()
property members as list of %DeepSee.Model.member (XMLELEMENTREF = 1, XMLPROJECTION = "ELEMENT", XMLTYPECONSTRAINT = "CHOICE");
Optional. Set of explicitly defined members for this level.
If defined, this is a list of the members that are to be displayed for this level in the given order.
Property methods: membersBuildValueArray(), membersCollectionToDisplay(), membersCollectionToOdbc(), membersDisplayToCollection(), membersGet(), membersGetObject(), membersGetObjectId(), membersGetSwizzled(), membersIsValid(), membersOdbcToCollection(), membersSet(), membersSetObject(), membersSetObjectId()
property nullReplacement as %DeepSee.Datatype.string (XMLPROJECTION = "attribute");
Optional. If defined, this is used as the display value for any members of this level whose value is null (missing).
If not defined, then missing members will not be listed by queries.
This cannot be used for levels within time dimensions or for levels that contain a list of values (see list).
Property methods: nullReplacementDisplayToLogical(), nullReplacementGet(), nullReplacementIsValid(), nullReplacementLogicalToDisplay(), nullReplacementLogicalToOdbc(), nullReplacementNormalize(), nullReplacementSet()
Set of properties defined for this level.
Property methods: propertiesBuildValueArray(), propertiesCollectionToDisplay(), propertiesCollectionToOdbc(), propertiesDisplayToCollection(), propertiesGet(), propertiesGetObject(), propertiesGetObjectId(), propertiesGetSwizzled(), propertiesIsValid(), propertiesOdbcToCollection(), propertiesSet(), propertiesSetObject(), propertiesSetObjectId()
property rangeExpression as %DeepSee.Datatype.string (MAXLEN = 32000, XMLPROJECTION = "attribute");
Optional. If defined, this contains a range expression that transforms incoming values according to a set of range conditions.
A range condition is a string containing one or more range conditions. Each condition has a test value and a replacement value of the form "test:replace;" A test value can contain a single value or a range. A range is enclosed with () (exclusive) or [] (inclusive).
For example:
"(,0]:Below Normal;(0,100):Normal;[100,):Above Normal;" This cannot be used for levels within time dimensions or for levels that contain a list of values (see list).
Range expressions are applied before null value substitution.
Values that do not match any range condition are converted to null.
Property methods: rangeExpressionDisplayToLogical(), rangeExpressionGet(), rangeExpressionIsValid(), rangeExpressionLogicalToDisplay(), rangeExpressionLogicalToOdbc(), rangeExpressionNormalize(), rangeExpressionSet()
property sort as %DeepSee.Datatype.string (VALUELIST = ",asc,desc,asc numeric,desc numeric", XMLPROJECTION = "attribute");
If specified, then use this property to define the default sort order for members of the current level.
The value can be "asc" for ascending order, "desc" for descending order, "asc numeric" for ascending numeric order, or "desc numeric" for descending numeric order.
For more precise control, you can specify sort order within the property definitions associated with this level.
Property methods: sortDisplayToLogical(), sortGet(), sortIsValid(), sortLogicalToDisplay(), sortLogicalToOdbc(), sortNormalize(), sortSet()
property useAsFilter as %Boolean (XMLPROJECTION = "attribute") [ InitialExpression = 1 ];
If true (the default), then this level can be used a filter within a dashboard. If false, it is still visible to the Analyzer, but is not listed as a choice for a widget filter.
This has no effect on the operation of the cube.
Property methods: useAsFilterDisplayToLogical(), useAsFilterGet(), useAsFilterIsValid(), useAsFilterLogicalToDisplay(), useAsFilterLogicalToXSD(), useAsFilterNormalize(), useAsFilterSet(), useAsFilterXSDToLogical()
property useDisplayValue as %Boolean (XMLPROJECTION = "attribute") [ InitialExpression = 0 ];
If true, then use the display (external) value of the field (if applicable) in the source table when fetching data for this level.
This is only applied for levels that specify a sourceProperty.
Property methods: useDisplayValueDisplayToLogical(), useDisplayValueGet(), useDisplayValueIsValid(), useDisplayValueLogicalToDisplay(), useDisplayValueLogicalToXSD(), useDisplayValueNormalize(), useDisplayValueSet(), useDisplayValueXSDToLogical()


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
classmethod timeFunctionIsValid(%val) as %Status
Override default validation to allow for additional time classes.

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab