TMDL Support
TMDL (Tabular Model Definition Language) is a modern, text-based format for defining semantic models. Semantic Modeler supports TMDL as its primary save format and includes a full-featured editor for working with TMDL files directly.
Supported Formats
Semantic Modeler works with both model formats used in the Microsoft tabular ecosystem:
- TMDL (Tabular Model Definition Language): The modern format introduced by Microsoft. Models are saved as a folder of individual text files, one per table, measure, relationship, and so on.
- BIM / TMSL (Tabular Model Scripting Language): The legacy format. Models are stored as a single JSON file containing the entire model definition.
TMDL vs. BIM
| TMDL | BIM (.bim / TMSL) | |
|---|---|---|
| Structure | Folder of individual text files | Single JSON file containing the entire model |
| Git-friendly | Yes, each object is a separate file, so diffs and merges are clean | Not really, since changes to one measure show as a diff in a massive JSON file |
| Human-readable | Designed to be read and edited as text | JSON is readable but verbose |
| Compatibility | Supported by Microsoft tools (Visual Studio, Fabric, etc.) | Universal, works with all tools including older ones |
For most workflows, TMDL is recommended. Use BIM if you need compatibility with older tools that don't support TMDL.
You can set your default save format in Settings > Editor > Default save format.
TMDL Editor
Semantic Modeler includes syntax highlighting for TMDL files. When you view or edit partition queries, role definitions, or model metadata, the editor recognizes TMDL syntax and highlights it accordingly.
Opening TMDL Models
To open an existing TMDL model:
- Click Open Model from the Welcome screen.
- Browse to the folder containing the TMDL files.
- Semantic Modeler reads the folder structure and loads the model.
You can also open a TMDL model by pointing to a parent folder using Open Folder. Semantic Modeler scans for TMDL folders and lists them in the project tree.
Related Microsoft Documentation
| Topic | Link |
|---|---|
| TMDL overview | Tabular Model Definition Language (TMDL) |
| Getting started with TMDL | Get started with TMDL |