top of page

Tabular Model Definition Language (TMDL)

  • mandarp0
  • Sep 20, 2024
  • 3 min read

In data modeling, especially within Microsoft’s data platforms, the Tabular Model Definition Language (TMDL) is an important concept that data professionals should know. TMDL is a language used to define tabular models, which are types of data models used in tools like SQL Server Analysis Services (SSAS), Power BI, and Azure Analysis Services. 

What is TMDL? 

Tabular Model Definition Language (TMDL) is an XML-based language used to define the structure, metadata, and data processing instructions for tabular models. Tabular models are in-memory data models that allow for fast data retrieval and complex data analysis, and they are especially powerful in scenarios involving large datasets and complex calculations. TMDL allows developers to programmatically define and manipulate these models, making it an essential tool for advanced data professionals. 

Why TMDL? 

Instead of a big JSON file like Tabular Model Scripting Language (TMSL), TMDL has a folder structure with separate files for each table, perspective, role, and culture. This makes it easier to work with others, and to understand the semantic model structure by just looking at the folder and files. This leads to a great source control and co-development experience when dealing with git diff’s and merge conflicts. When saving as PBIP, your semantic model will be saved as a TMDL folder named “\definition” with separate files for each table, perspective, role, and culture. During the Public Preview of Power BI Desktop developer mode, the TMDL format will be opt-in, and TMSL will continue to be the default format. At General Availability, TMDL will become the default semantic model file format. 

How to get started? 

You must first enable this feature in preview features: go to File > Options and settings > Options > Preview features and check the box next to “Store semantic model using TMDL format”. 

 After enabling the preview feature, when saving as PBIP, your semantic model will be saved as a TMDL folder named “\definition” with separate files for each table, perspective, role and culture: 

ree

Power BI recently announced that the Tabular Model Definition Language (TMDL) has reached General Availability (GA)! 

ree


TMDL integration with Power BI 

The integration of TMDL with Power BI Project files (PBIP) and Fabric Git is still in preview. However, the General Availability of TMDL signals a higher level of stability, making it ready for broader adoption. 

To enhance the developer experience and improve team collaboration, Fabric Git integration will soon start exporting semantic model definitions as TMDL instead of Tabular Model Scripting Language (TMSL). To prepare for this change, open your PBIP files in the latest version of Power BI Desktop and convert your semantic model definitions to TMDL.

With TMDL, we're able to: 


  • Enhance Model Management: TMDL allows for precise control over model structures, making it easier to implement complex business logic. 

  • Boost Collaboration: As a text-based format, TMDL facilitates version control and team collaboration, ensuring that model changes are tracked and managed seamlessly. 

  • Streamline Deployment: Whether you're deploying to Power BI or Analysis Services, TMDL simplifies the process, making it more efficient and less error-prone. 


Conclusion 

In summary, Tabular Model Definition Language (TMDL) is a powerful and flexible language that plays a crucial role in defining and managing tabular models within Microsoft’s data ecosystem. Whether you’re a data analyst, BI developer, or data engineer, understanding TMDL is key to harnessing the full potential of tools like SSAS, Power BI, and Azure Analysis Services. As organizations continue to rely on data-driven decision-making, the ability to efficiently define, deploy, and manage data models using TMDL will become increasingly valuable. 

For expert data solutions tailored to your business, contact us at Numlytics. Transform your data into actionable insights!

 
 
 

Comments


bottom of page