Skip to main content

Announcing public preview of the Tabular Model Definition Language (TMDL)

Headshot of article author Rui Romano

Organizations create semantic models to serve as the single source of truth for enterprise data. With the sophisticated data modelling capabilities in Power BI, customers build enterprise-grade semantic models as Power BI datasets, which are visualized on Power BI reports and dashboards for thousands of users across large organizations.

Many of these organizations have multiple big and complex datasets, which often require incremental changes to include additional data, create or modify a calculation, create and organize display folders, etc.

For certain projects it’s a common need to have multiple developers working on different tasks in the same model, but the BIM file extracted from the model using Tabular Object Model (TOM) consists of a single, and often very large, JSON file with all model metadata in Tabular Model Scripting Language (TMSL), that is hard to read, edit and collaborate on.

We are very excited to announce the public preview of a new Tabular Model Definition Language (TMDL) to address those limitations by providing:

  • A human readable format using a YAML-like syntax. Each tabular metadata object has a textual representation with minimal delimiters. Indentation is used to indicate parent-child relationships between objects.
  • A better editing experience, especially for properties containing DAX and M expressions.
  • A standard folder output format where each model object has an individual file representation, making TMDL more source control friendly well suited for collaboration.

TMDL is a crucial step towards better integration with source-control systems and is designed to enable multiple developers working on the same model.

At Public Preview you can try TMDL programmatically by leveraging the new methods available in the TOM API to:

  • Serialize model metadata as multiple text files using the TMDL format.
  • Read a folder with TMDL text files and deserialize them to a TOM object model.

Please see the TMDL documentation page for further information and Get Started with TMDL to learn how to start using TMDL today.

What’s coming next?

  • We plan to release an open-source Visual Studio Code extension to provide an easy and intuitive TMDL editing experience in Visual Studio Code with syntax highlighting, auto indentation and auto completion.
  • We will gradually integrate TMDL into Microsoft tools, unblocking seamless use of TMDL in your Power BI projects.

Community

The public preview of TMDL allows any community tool to incorporate TMDL as its tabular-model definition format. Microsoft BI has a rich history of community tool enablement. For example, when external tools was announced for Power BI Desktop, it empowered the community to achieve great things. TMDL continues in this tradition. Any tool that reads and writes tabular-model metadata files such as pbi-tools, Tabular Editor and ALM Toolkit can now adopt the TMDL format. The authors of these tools have expressed intent to adopt the TMDL format, and others are expected to follow suit. Putting TMDL serialization directly in TOM means community tools can read/write tabular-model metadata in a consistent way, promoting interoperability between tools. We can’t wait to see what the Power BI community creates with TMDL!

You may already know Mathias Thierbach as the creator of pbi-tools (see Microsoft supported vs. experimental features here), which has already adopted the TMDL standard! pbi-tools solves a long-standing problem in the Power BI development community. It provides tools to bring Power BI projects under source control, enabling professional development workflows and enhanced governance.

The Power BI product group is grateful to Mathias for his work on TMDL. As part of the Power BI Contributor Program, Mathias enhanced the TOM object model by adding TMDL. Wow, much respect to Mathias for being the first member of the Power BI community to check code into the Analysis Services codebase! May others follow in Mathias’ footsteps! Mathias worked tirelessly with Power BI architects and engineering leads to design the TMDL specification, and showed great drive, creativity, and commitment to making TMDL a reality. The community owes Mathias a debt of gratitude!

Lastly, if you happen to be one of the few people who haven’t yet seen the recording of the awesome SQLBits joint Microsoft/community session by Mathias and Gabi Münster where TMDL was first announced, then here it is. Enjoy!