Tabular Model Programming for Compatibility Level 1200 and higher

APPLIES TO: yesSQL Server Analysis Services yesAzure Analysis Services noPower BI Premium

Beginning with compatibility level 1200, Tabular metadata is used to describe model constructs, replacing historical Multidimensional metadata as descriptors for Tabular model objects. Metadata for tables, columns, and relationships are table, column, and relationship, rather than the Multidimensional equivalents (dimension and attribute).

You can create new models at compatibility level 1200 or higher by using the Microsoft.AnalysisServices.Tabular APIs, the latest version of SQL Server Data Tools (SSDT), or by changing the CompatibilityLevel of an existing Tabular model to upgrade it (also done in SSDT). Doing so binds the model to newer versions of the server, tools, and programming interfaces.

Upgrading an existing Tabular solution is recommended but not required. Existing script and custom solutions that access or manage Tabular models or databases can be used as-is. Earlier compatibility levels are fully supported in SQL Server 2016 using the features available at that level. Azure Analysis Services supports compatibility level 1200 and higher only.

New Tabular models will require different code and script, summarized below.

Object Model Definitions as Tabular Metadata Constructs

The Tabular Object Model for 1200 or higher models is exposed in JSON through the Tabular Model Scripting Language and through the AMO data definition language through a new namespace, Microsoft.AnalysisServices.Tabular

Script for Tabular Models and Databases

TMSL is a JSON scripting language for Tabular models, with support for create, read, update, an delete operations. You can refresh data via TMSL and invoke database operations for attach, detatch, backup, restore, and synchronize.

AMO PowerShell accepts TMSL script as input.

See Tabular Model Scripting Language (TMSL) Reference and Analysis Services PowerShell Reference for more information.

Query Languages

DAX and MDX are supported for all Tabular models.

Expression Language

Filters and expressions used to create calculated objects, including measures and KPIs, are formulated in DAX. See Understanding DAX in Tabular Models and Data Analysis Expressions (DAX) in Analysis Services.

Managed Code for Tabular Models and Databases

AMO includes a new namespace, Microsoft.AnalysisServices.Tabular, for working with models programmatically. See Microsoft.AnalysisServices Namespace for more information.

Note

Analysis Services Management Objects (AMO), ADOMD.NET, and Tabular Object Model (TOM) client libraries now target the .NET 4.0 runtime.

See Also

Analysis Services Developer Documentation
Tabular Model Programming for Compatibility Levels 1050 through 1103
Technical ReferenceUpgrade Analysis Services
Compatibility levels of Tabular models and databases