Table of Contents

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:

  1. Click Open Model from the Welcome screen.
  2. Browse to the folder containing the TMDL files.
  3. 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.

Topic Link
TMDL overview Tabular Model Definition Language (TMDL)
Getting started with TMDL Get started with TMDL