TMDL in Power BI Desktop developer mode (Preview)

When we launched Power BI Desktop developer mode with Power BI Project files (PBIP) in conjunction with Fabric Git Integration, we empowered customers to fulfill the requirements of mission-critical BI systems, such as unlocking source control, facilitating developer collaboration, and streamlining enterprise deployment scenarios. We are very excited to announce a significant improvement to that experience: the adoption of Tabular Model Definition Language (TMDL) as the semantic model file format for the Power BI Project files.

Why TMDL?

TMDL has been designed from the ground up to be , facilitating not only readability but also easy editing in any text editor. This represents a substantial enhancement for source control and collaborative development experiences, particularly when dealing with complex file diffs


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. Ultimately, this leads to a great source control and co-development experience when dealing with git diff’s and merge conflicts:


How to get started?

Saving as a PBIP using TMDL is currently in preview. Before giving it a try, 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:

Existing PBIP files can also be easily upgraded to TMDL by simply opening them and selecting “Upgrade” during the save process:

Caution: the upgrade to TMDL is irreversible, so please save a backup of your PBIP files in case you want to go back to TMSL.

External changes

Any text editor can be used to modify your TMDL files, but Visual Studio Code and the TMDL Language extension will give you the best experience.


When you open TMDL documents with Visual Studio Code after setting up the extension, your TMDL documents will have syntax highlighting:


If you make mistakes when editing your TMDL files manually (e.g., incorrect indentation), Power BI Desktop will display an error message when you open the PBIP files. The error message will include the details and location of the error in the TMDL document:

Fabric Git Integration

During the Public Preview, Fabric Git Integration will still export the semantic model using TMSL format by default. However, if the semantic model is imported into Fabric using TMDL format, then Fabric Git Integration, in the event of semantic model changes in the service, will use TMDL to export the semantic model definition to Git.


Community

TMDL goes beyond Microsoft Power BI tools; any community tool can utilize TMDL as its semantic model definition format via the Tabular Object Model (TOM) library. Established open-source tools such as pbi-tools or Tabular Editor have already adopted the TMDL format, enabling seamless integration with Power BI Project files.

TMDL came from the community and Power BI contributor program, and the product group is grateful to Mathias Thierbach for his ongoing contributions to the TMDL language in the past year.

What’s Next?

During the Public Preview of Power BI Desktop developer mode, 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.

This year, we will also introduce a new improved report format that, unlike the current format, will be source-control friendly and have public documentation.

Comments

Post a Comment

Hi User,
Thanks for visiting My Blog and please provide your valuable feedback and subscribe for more updates. Please don't post any spam content or comments.
Thank You

Popular Posts

Failed to execute the package or element. Build errors were encountered

Restore of database 'DataBase_Name' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)

Cannot convert "Column" between a unicode and a non-unicode string data types in SSIS