Introduction to the CSDL Extensions for Tabular Models
Analysis Services supports the creation of rich datasets that can be used for reporting, by presenting the definition of a tabular model in an XML format that is compliant with the Conceptual Schema Definition Language (CSDL). This topic provides an overview of CSDL and how it is used in Analysis Services tabular model.
CSDL is an XML-based language that describes entities, relationships, and functions. CSDL is defined as part of the Entity Data Framework, with extensions designed to support rich data modeling. Although CSDL is compliant with the Entity Data Framework, you do not need to understand the entity-relationship model or have any special tools to build a tabular model or a report based on a model. You build models by using SQL Server Data Tools (SSDT), and publish the model definition file to a SharePoint library where it can be used by report designers and report consumers. For more information, see these links:
A CSDL definition is generated by the Analysis Services server in response to a request for a model definition from a reporting client. The client application sends an XML query to the Analysis Services server that hosts the model data. In response, the server sends an XML message containing a definition of the entities in the model, in CSDL format. The reporting client uses the information to present the fields, aggregations, and measures that are available in the model. The CSDL definition also provides information about how to group, sort, and format the data.
For general information about how CSDL is structured, see CSDL Concepts.
Working with CSDL
The CSDL representation of a tabular model is a collection of entities that define tables (or dimensions), each entity containing columns (attributes), associations that define relationships between entities, and formulas included in calculated columns, measure, or KPIs.
You cannot modify these objects directly, but must use the client tools and application programming interfaces (APIs) provided for working with tabular models.
You can obtain the CSDL for a model by sending a DISCOVER request to the server that hosts the model. The request must be qualified by specifying the server and the model, and, optionally, a view or perspective. The returned message is an XML string. Certain CSDL elements are language-dependent and may return different values depending on the language of the current connection. For more information, see DISCOVER_CSDL_METADATA Rowset.
CSDL Extensions to Support Models
The CSDL specification provides for most of the entities and properties that are needed to support modeling. However, some extensions have been made to support the reporting requirements of tabular models: for example, extensions support enhanced presentation and custom calculations. The additions to the CSDL schema to support Analysis Services tabular models include the following:
New elements to support models
New attributes and extensions to existing entities
Visualization and navigation properties