Overview of Analysis Services Scripting Language

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

In Microsoft SQL Server Analysis Services, the Analysis Services Scripting Language (ASSL) DDL defines the structure of Analysis Services objects (such as cubes, dimensions, and mining models) and the binding of Analysis Services objects to data sources. The DDL also persists the definition of Analysis Services objects. Analysis Services applications use the DDL to create, alter, deploy, and describe Analysis Services objects.


A developer designs a set of cubes by using the SQL Server Data Tools (SSDT) design tools and saves the definition as part of a project. The developer is not confined to using the design tools, but can also open the cube definition files directly to edit the XML, which uses the format described in this section.


A database administrator (DBA) uses the SQL Server Management Studio to edit XML directly as a means of creating and altering Analysis Services objects in the same way the DBA uses the SQL Server DDL to create and alter Microsoft SQL Server objects.


The schema defined in this specification uses the XML namespace http://schemas.microsoft.com/AnalysisServices/2003/Engine and the standard abbreviation “DDL.”


The definition of an XML Schema definition language (XSD) schema for the Analysis Services object definition language is based on the definition of the schema elements and hierarchy in this section.

Extensibility of the object definition language schema is provided by means of an Annotation element that is included on all objects. This element can contain any valid XML from any XML namespace (other than the target namespace that defines the DDL), subject to the following rules:

  • The XML can contain only elements.

  • Each element must have a unique name. It is recommended that the value of Name reference the target namespace.

These rules are imposed so that the contents of the Annotation tag can be exposed as a set of Name/Value pairs through Decision Support Objects (DSO) 9.0.

Comments and white space within the Annotation tag that are not enclosed with a child element may not be preserved. In addition, all elements must be read-write; read-only elements are ignored.

The object definition language schema is closed, in that the server does not allow substitution of derived types for elements defined in the schema. Therefore, the server accepts only the set of elements defined here, and no other elements or attributes. Unknown elements cause the Analysis Services engine to raise an error.