Tabular Model Programming for Compatibility Level 1200 and higher
APPLIES TO: SQL Server Analysis Services Azure Analysis Services Power 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.
DAX and MDX are supported for all Tabular models.
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.
Analysis Services Management Objects (AMO), ADOMD.NET, and Tabular Object Model (TOM) client libraries now target the .NET 4.0 runtime.
Analysis Services Developer Documentation
Tabular Model Programming for Compatibility Levels 1050 through 1103
Technical ReferenceUpgrade Analysis Services
Compatibility levels of Tabular models and databases