2.2.4.2.2.8 Dimension

The Dimension complex type represents a dimension object.

   <xsd:complexType name="Dimension">
     <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 Dimension object-->
       <xsd:element name="Source" minOccurs="0" type="Binding" />
       <xsd:element name="MiningModelID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="Type" minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="Regular"/>
             <xsd:enumeration value="Time"/>
             <xsd:enumeration value="Geography"/>
             <xsd:enumeration value="Organization"/>
             <xsd:enumeration value="BillOfMaterials"/>
             <xsd:enumeration value="Accounts"/>
             <xsd:enumeration value="Customers"/>
             <xsd:enumeration value="Products"/>
             <xsd:enumeration value="Scenario"/>
             <xsd:enumeration value="Quantitative"/>
             <xsd:enumeration value="Utility"/>
             <xsd:enumeration value="Currency"/>
             <xsd:enumeration value="Rates"/>
             <xsd:enumeration value="Channel"/>
             <xsd:enumeration value="Promotion"/>
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="UnknownMember" minOccurs="0">
         <xsd:complexType>
           <xsd:simpleContent>
             <xsd:extension base="UnknownMemberEnumType">
               <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="MdxMissingMemberMode" minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string" >
             <xsd:enumeration value="Default"/>
             <xsd:enumeration value="Ignore"/>
             <xsd:enumeration value="Error"/>
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="ErrorConfiguration" type="ErrorConfiguration"
                    minOccurs="0" />
       <xsd:element name="StorageMode" >
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="Molap"/>
             <xsd:enumeration value="Rolap"/>
             <xsd:enumeration value="InMemory"/>
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="WriteEnabled" type="xsd:boolean" minOccurs="0"/>
       <xsd:element name="ProcessingPriority" type="xsd:integer" minOccurs="0"/>
       <xsd:element name="LastProcessed" type="xsd:dateTime" minOccurs="0"/>
       <xsd:element name="DimensionPermissions"  minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="DimensionPermission"  type="DimensionPermission"
                          minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="DependsOnDimensionID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="Language" type="xsd:integer" minOccurs="0"/>
       <xsd:element name="Collation" type="xsd:string" minOccurs="0"/>
       <xsd:element name="UnknownMemberName" type="xsd:string" minOccurs="0"/>
       <xsd:element name="UnknownMemberTranslations" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="UnknownMemberTranslation"  type="Translation"
                          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="Unprocessed"/>
             <xsd:enumeration value="PartiallyProcessed"/>
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="ProactiveCaching" type="ProactiveCaching"
                    minOccurs="0" />
       <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="ProcessingGroup" minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="ByAttribute"/>
             <xsd:enumeration value="ByTable"/>
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="CurrentStorageMode" minOccurs="0">
         <xsd:complexType>
           <xsd:simpleContent>
             <xsd:extension base="DimensionCurrentStorageModeEnumType">
               <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="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="Attributes" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Attribute"  type="DimensionAttribute" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="AttributeAllMemberName" type="xsd:string" minOccurs="0"/>
       <xsd:element name="AttributeAllMemberTranslations" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="MemberAllMemberTranslation"  type="Translation"
                          minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Hierarchies" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Hierarchy"  type="Hierarchy" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element ref="eng200_200:ProcessingRecommendation" minOccurs="0" />
       <xsd:element name="Relationships" type="eng300_300:Relationships" 
                    minOccurs="0" maxOccurs="1"/>
       <xsd:element ref="eng300:StringStoresCompatibilityLevel" minOccurs="0"/>
       <xsd:element ref="eng300:CurrentStringStoresCompatibilityLevel"
                    minOccurs="0"/>
     </xsd:all>
   </xsd:complexType>
            
     <xsd:simpleType name="DimensionCurrentStorageModeEnumType" >
       <xsd:restriction base="xsd:string">
         <xsd:enumeration value="Molap"/>
         <xsd:enumeration value="InMemory"/>
         <xsd:enumeration value="Rolap"/>
       </xsd:restriction>
     </xsd:simpleType>
            
 <xsd:simpleType name="UnknownMemberEnumType" >
     <xsd:restriction base="xsd:string">
       <xsd:enumeration value="Visible"/>
       <xsd:enumeration value="Hidden"/>
       <xsd:enumeration value="None"/>
       <xsd:enumeration value="AutomaticNull"/>
     </xsd:restriction>
   </xsd:simpleType>

The Dimension XSD depends upon element definitions in namespaces other than the default namespace.

The following elements are defined in the namespace eng200_200:

   <xsd:element name="ProcessingRecommendation" >
     <xsd:simpleType>
       <xsd:restriction base="xsd:string">
         <xsd:enumeration value="None"/>
         <xsd:enumeration value="Stale"/>
       </xsd:restriction>
     </xsd:simpleType>
   </xsd:element>

The following elements are defined in the namespace eng300:

   <xsd:element name="StringStoresCompatibilityLevel">
     <xsd:simpleType>
       <xsd:restriction base="xsd:int">
         <xsd:enumeration value="1050"/>
         <xsd:enumeration value="1100"/>
       </xsd:restriction>
     </xsd:simpleType>
   </xsd:element>
   <xsd:element name="CurrentStringStoresCompatibilityLevel">
     <xsd:simpleType>
       <xsd:restriction base="xsd:int">
         <xsd:enumeration value="1050"/>
         <xsd:enumeration value="1100"/>
       </xsd:restriction>
     </xsd:simpleType>
   </xsd:element>

The following elements are defined in the namespace eng300_300:

   <xsd:complexType name="Relationships">
     <xsd:sequence>
       <xsd:element name="Relationship" type="eng300_300:Relationship" 
                    minOccurs="0" maxOccurs="unbounded" />
     </xsd:sequence>
   </xsd:complexType>

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

Element

Read-Only

Default value

Description

Source

Empty

The source is of type Binding. However, one of the following derived types MUST be used:

MiningModelID

Empty

The ID of a MiningModel. Used by data mining dimensions.

For data mining dimensions, the Source element of the dimension MUST be of type DataSourceView binding, and the DataSourceViewID property of the DataSourceViewBinding MUST be set to the value ".".

Type

"Regular"

An enumeration value that provides both the server and client applications with information about the contents of the dimension.

Enumeration values can be informative only; however, a server MAY<67> implement behavior for specific enumeration values. The enumeration values are as follows:

  • Regular – The dimension is a regular dimension.

  • Time – The dimension is a time dimension.

  • Geography – The dimension contains geographical information.

  • Organization – The dimension contains organizational information.

  • BillOfMaterials – The dimension contains bill of materials information.

  • Accounts – The dimension contains account-related information.

  • Customers – The dimension contains customer-related information.

  • Products – The dimension contains product-related information.

  • Scenario – The dimension contains scenario-related information.

  • Quantitative – The dimension contains quantitative information.

  • Utility – The dimension contains utility information.

  • Currency – The dimension contains currency information.

  • Rates – The dimension contains exchange rate information.

  • Channel – The dimension contains channel information.

  • Promotion – The dimension contains promotion-related information.

UnknownMember

"None"

When referential integrity (RI) violations or null foreign keys are encountered, the server MAY impute an "unknown member". This enumeration defines whether and how the UnknownMember is exposed.

  • Visible – The unknown member exists and is displayed. Its value is "Unknown Member".

  • AutomaticNull - If the dimension is a reference dimension and the relationship has an RI violation, the unknown member is visible and is displayed. Otherwise, the unknown member does not exist. Its value is null. The UnknownMemberName property is ignored.

    If the AutomaticNull value is used in an instance document, the valuens attribute MUST be used.

  • Hidden – The unknown member exists but is not displayed.

  • None – The unknown member does not exist for the dimension.

MdxMissingMemberMode

"Default"

Determines how missing members are handled for MDX statements. For more information, see [MSDN-MDXR].

ErrorConfiguration

Empty

Allows configuration of processing errors.

StorageMode

"Molap"

Determines the storage mode for the dimension. Applies to all attributes of the dimension.

WriteEnabled

False

When true, indicates that dimension writebacks are available (subject to security permissions); otherwise, false.

For more information about dimension writebacks, see [MSFT-WBDIM].

ProcessingPriority

Zero

An integer that determines the priority for processing.

LastProcessed

Yes

The date and time when the dimension was last processed.

DimensionPermissions

Empty

A collection of objects of type DimensionPermission.

DependsOnDimensionID

Empty

Provides the ID of any other dimension that this dimension is dependent upon.

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.<68>

Collation

Empty

The collation sequence.

UnknownMemberName

"Unknown"

The caption for UnknownMember in the default language.

UnknownMemberTranslation

Empty

A collection of objects of type Translation that represents the translation for the UnknownMember in different languages.

State

Yes

Contains the current processing state of the dimension.

ProactiveCaching

Empty

Defines proactive caching parameters.

ProcessingMode

"Regular"

Indicates whether the instance indexes and aggregates during or after processing. The enumeration values are as follows:

  • Regular - The instance indexes and performs aggregations during processing.

  • LazyAggregations - The instance indexes and performs aggregations after processing.

ProcessingGroup

"ByAttribute"

Indicates how the dimension is grouped during processing. Controls what kind of SQL queries are sent to the source data repository.

CurrentStorageMode

Yes

The actual current storage mode for dimension.

When the enumeration value is "InMemory", the valuens attribute MUST be included.

Translations

Empty

A collection of Translation objects.

Attributes

Empty

A collection of Attribute objects.

AttributeAllMemberName

Empty

Contains the caption in the default language for the All member of a Hierarchy element.

AttributeAllMemberTranslations

Empty

A collection of Translation objects for the AttributeAllMemberName.

Hierarchies

Empty

A collection of Hierarchy objects.

ProcessingRecommendation

Yes

An enumeration value that the system uses to indicate whether the Dimension is stale and needs to be processed.

StringStoresCompatibilityLevel

1050

An enumeration value that specifies the string store compatibility level that is instituted the next time the object is processed. The valid values are the following:

  • 1050 – Standard string handling.

  • 1100 – Enhanced string handling.<69>

CurrentStringStoresCompatibilityLevel

Yes

1050

An enumeration value that specifies the string store compatibility level that is currently in effect. The interpretation of the values is the same as for StringStoresCompatibilityLevel.