Skip to main content

Requirements for a Cube Class

Provides basic information on Business Intelligence cube classes.


To define a cube, create a class that meets the following requirements:

  • It must extend %DeepSee.CubeDefinitionOpens in a new tab.

  • It must contain an XData block named Cube

  • For this XData block, XMLNamespace must be specified as follows:

    XMLNamespace = ""
  • The root element within the XData block must be <cube> and this element must follow the requirements described in the rest of this page.

  • It is useful, but not required, for the class to specify the DependsOn compiler keyword so that this class is compiled only after the source class of the cube is compiled and can be used.

  • The class can define the DOMAIN parameter, which specifies the domain to which any localized strings belong. For example:


    For details, see Performing Localization.

Studio provides assistance as you type. For example:

Code completion menu in Studio, showing that a measure can have attributes such as formatString, hidden, name, and scale.


As a final consideration, note that certain InterSystems products provide out-of-the-box namespaces intended for customized classes, such as the HSCUSTOM namespace provided with HealthShare products. InterSystems strongly recommends against deploying cubes in any such namespaces.


Class BI.Model.PatientsCube Extends %DeepSee.CubeDefinition [DependsOn=BI.Study.Patient]

XData Cube [ XMLNamespace = "" ]

<measure measure_definition/>

<dimension dimension_definition/>


FeedbackOpens in a new tab