CSDL Annotations for Business Intelligence (CSDLBI)
APPLIES TO:SQL Server Analysis ServicesAzure Analysis Services
Analysis Services supports the presentation of the definition of a tabular model in an XML format called Conceptual Schema Definition Language with Business Intelligence annotations (CSDLBI). This topic provides an overview of CSDLBI and how it is used with Analysis Services data models.
Understanding the Role of CSDL
The Conceptual Schema Data Language (CSDL) is an XML-based language that describes entities, relationships, and functions. CSDL is defined as part of the Entity Data Framework. The BI annotations are an extension designed to support data modeling using Analysis Services.
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 client tools such as SQL Server Data Tools (SSDT) or an API such as AMO, and deploy the model to a server.
The CSDLBI schema is generated by the Analysis Services server in response to a request for a model definition from a client such as Power View. 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, using the CSDLBI annotations. The reporting client then uses the information to present the fields, aggregations, and measures that are available in the model. The CSDLBI annotations also provide information about how to group, sort, and format the data.
For general information about CSDLBI, see CSDLBI Concepts.
Working with CSDL
The set of CSDLBI annotations that represents any particular tabular model is an XML document containing a collection of entities, both simple and complex. The entities define tables (or dimensions), columns (attributes), associations (relationships), 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 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.
The original CSDL specification (from the Entity Data Framework) provides for most of the entities and properties that are needed to support modeling. The BI annotations support special requirements of tabular models, reporting properties required for clients such as Power View, and additional metadata required for multidimensional models. This section describes the updates in each version.
The initial set of additions to the CSDL schema to support Analysis Services tabular models contained annotations in support of data modeling, custom calculations, and enhanced presentation:
New elements and properties to support tabular models. For example, a property was added to specify the type of database query used to populate the model.
New properties and extensions to existing entities. For example, the Association element was extended to support relationships.
Visualization and navigation properties. For example, properties were added to support custom sorting fields, default images, and
This version of the CSDLBI schema includes additions in support of multidimensional databases (such as OLAP cubes). The new elements and properties are as follows:
Support for dimensions as entities.
Support for hierarchies.
Exposes ROLAP partitions.
Support for translations.
Support for perspectives.
For detailed information about individual elements in the CSDLBI annotations, see Technical Reference for BI Annotations to CSDL. For information about the core CSDL specification, see the CSDL specification on MSDN.