2.2.4.2.2.9 Cube

The Cube complex type represents a cube.

   <xsd:complexType name="Cube">
     <xsd:all>
       <!--These elements are common to each MajorObject-->
       <xsd:element name="Name"  type="xsd:string" />
       <xsd:element name="ID"  type="xsd:string" minOccurs="0" />
       <xsd:element name="CreatedTimestamp" type="xsd:dateTime" minOccurs="0" />
       <xsd:element name="LastSchemaUpdate" type="xsd:dateTime" minOccurs="0" />
       <xsd:element name="Description" type="xsd:string" minOccurs="0" />
       <xsd:element name="Annotations"  minOccurs="0" >
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Annotation" type="Annotation" minOccurs="0"
                          maxOccurs="unbounded" />
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <!--Extended elements for Cube object-->
       <xsd:element name="Language" type="xsd:integer" minOccurs="0"/>
       <xsd:element name="Collation" type="xsd:string" minOccurs="0"/>
       <xsd:element name="Translations" minOccurs="0" >
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Translation" type="Translation" minOccurs="0"
                          maxOccurs="unbounded" />
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Dimensions" >
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Dimension"  type="CubeDimension"
                          maxOccurs="unbounded" />
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="CubePermissions"  minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="CubePermission"  minOccurs="0"
                          type="CubePermission" maxOccurs="unbounded" />
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="MdxScripts"  minOccurs="0" >
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="MdxScript"  type="MdxScript" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Perspectives"  minOccurs="0" >
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Perspective"  type="Perspective" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="State"  minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="Processed" />
             <xsd:enumeration value="PartiallyProcessed" />
             <xsd:enumeration value="Unprocessed" />
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="DefaultMeasure" type="xsd:string" minOccurs="0"/>
       <xsd:element name="Visible" type="xsd:boolean" minOccurs="0"/>
       <xsd:element name="MeasureGroups">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="MeasureGroup"  type="MeasureGroup" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Source" type="DataSourceViewBinding" minOccurs="0"/>
       <xsd:element name="AggregationPrefix" type="xsd:string" minOccurs="0"/>
       <xsd:element name="ProcessingPriority" type="xsd:integer" minOccurs="0"/>
       <xsd:element name="StorageMode" minOccurs="0">
         <xsd:complexType>
           <xsd:simpleContent>
             <xsd:extension base="CubeStorageModeEnumType">
               <xsd:attribute name="valuens" >
                 <xsd:simpleType>
                   <xsd:restriction base="xsd:string">
                     <xsd:enumeration value=
            "http://schemas.microsoft.com/analysisservices/2010/engine/200/200" />
                   </xsd:restriction>
                 </xsd:simpleType>
               </xsd:attribute>
             </xsd:extension>
           </xsd:simpleContent>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="ProcessingMode" minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="Regular" />
             <xsd:enumeration value="LazyAggregations" />
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="ScriptCacheProcessingMode"  minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="Regular" />
             <xsd:enumeration value="Lazy" />
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="ScriptErrorHandlingMode" minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="IgnoreNone" />
             <xsd:enumeration value="IgnoreAll" />
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="eng800:DaxOptimizationMode" minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="1" />
             <xsd:enumeration value="0" />
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="ProactiveCaching" type="ProactiveCaching"
                    minOccurs="0" />
       <xsd:element name="Kpis" minOccurs="0" >
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Kpi"  type="Kpi" minOccurs="0"
                          maxOccurs="unbounded" />
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="ErrorConfiguration" type="ErrorConfiguration"
                    minOccurs="0"/>
       <xsd:element name="Actions" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Action" minOccurs="0"
                     type="Action" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="StorageLocation" type="xsd:string" minOccurs="0"/>
       <xsd:element name="EstimatedRows" type="xsd:long" minOccurs="0"/>
       <xsd:element name="LastProcessed" type="xsd:dateTime" minOccurs="0"/>
     </xsd:all>
   </xsd:complexType>
            
   <xsd:simpleType name="CubeStorageModeEnumType">
     <xsd:restriction base="xsd:string">
       <xsd:enumeration value="Molap" />
       <xsd:enumeration value="Rolap" />
       <xsd:enumeration value="Holap" />
       <xsd:enumeration value="InMemory" />
     </xsd:restriction>
   </xsd:simpleType>

The Cube XSD depends upon element definitions in a namespace other than the default namespace.

The following elements are defined in the namespace eng800:

       <xsd:element name="DaxOptimizationMode" minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="1" />
             <xsd:enumeration value="0" />
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>

The following table describes the elements that are included in the XSD schema for Cube. Those elements common to all major objects are described in section 2.2.4.2.2.1.

Element

Read-Only

Default value

Description

Language

Empty

The LCID of the language to use by default. See [MS-LCID] for information about LCIDs. If empty, the server will determine the language to use.<76>

Collation

Empty

The collation to use by default.<77>

Translations

Empty

A collection of Translation objects.

Dimensions

Empty

A collection of CubeDimension objects. A Dimension MUST NOT have same name as a MeasureGroup.

CubePermissions

Empty

A collection of CubePermission objects.

MdxScripts

Empty

A collection of MdxScript objects.

Perspectives

Empty

A collection of Perspective objects. A perspective is a subset of the features of a cube. A perspective contains subsets of objects from a cube.

State

Yes

Represents the Cube state on the server.

DefaultMeasure

Empty

The MDX expression that defines the default measure.

Visible

True

When true, indicates that the cube is visible to a client; otherwise, false.

MeasureGroups

[Required]

A collection of MeasureGroup objects.

Source

Empty

A reference to the source data for the cube. Only for a cube with a relational data source. For a cube with an OLAP data source, this element MUST be empty.

AggregationPrefix

Empty

A text prefix used on tables used for aggregation.

ProcessingPriority

Zero

The priority for processing.

StorageMode

"Molap"

Determines the default storage mode for the cube. MAY be overridden per measure group and partition.

When the value of StorageMode is "InMemory", the valuens attribute MUST be used.

ProcessingMode

"Regular"

Indicates whether the server indexes and aggregates during processing or afterward. Provides the default for the cube, and can be overridden per partition.

ScriptCacheProcessingMode

"Regular"

Indicates whether the server is to build the script cache during processing or afterwards.

ScriptErrorHandlingMode

"IgnoreNone"

Indicates how MDX script errors are handled by the server.

DaxOptimizationMode

Empty

Indicates whether Data Analysis Expressions (DAX) optimizations are enabled or disabled on the cube.<78> The possible values are as follows:

  • 1 – DAX optimizations are enabled.

  • 0 – DAX optimizations are disabled.

ProactiveCaching

Empty

This object sets parameters to control proactive caching.

Kpis

Empty

A collection of key performance indicator (KPI) objects. A KPI is a quantifiable measurement for gauging business success.

ErrorConfiguration

Empty

This object sets parameters to control error handling.

Actions

Empty

A collection of Action objects.

StorageLocation

Empty

The file system storage location for the cube. Provides the default for the cube. The default MAY be overridden for each partition.

EstimatedRows

Contains the estimated number of rows.

LastProcessed

Yes

A timestamp indicating the date and time when the object was last processed.