Table of Contents

Building Your First Model

This walkthrough takes you from an empty screen to a working semantic model with tables, relationships, and measures.

Step 1: Create a Project

Before you start modeling, create a project to keep your workspace organized.

  1. Click the Projects icon in the activity bar.
  2. Click New Project and give it a name.
  3. Choose a folder where your model files will live.

Your project is now the active workspace. Any models you open or create from here are tracked as part of this project.

Importing an Existing Model

If you already have a model deployed to Fabric, Azure AS, or SSAS, you can import it instead of starting from scratch:

  1. From the Welcome screen (or File menu), click Import Model.
  2. Enter the workspace or server URL.
  3. Sign in if prompted (Microsoft Entra ID for Fabric/Azure AS).
  4. Semantic Modeler pulls down the model definition and saves it locally.

You can also open an existing model from disk. Just point to a .bim file or a TMDL folder.

Step 2: Create a New Model

  1. Click New Model from the Welcome screen.
  2. Enter a model name.
  3. Choose a compatibility level:
    • 1500+ for Microsoft Fabric
    • 1200+ for SSAS or Azure AS
  4. Pick a save location. TMDL format is recommended because it saves each object as its own file, which works great with Git.

Step 3: Set Up an Environment

Your model needs a working server to preview data and run DAX queries. Set one up now:

  1. Click Environments in the activity bar.
  2. Click Add Environment and name it (e.g., "Development").
  3. Under Working Server, enter your Fabric workspace URL, Azure AS server, or SSAS instance.
  4. Under Data Source Connections, add the databases your model will query.
  5. Click Test Connection to make sure everything connects.
Tip

You can set up multiple environments later (staging, production). For now, one development environment is all you need to get started.

Step 4: Add Tables

  1. In the Explorer, right-click your model and select Add Table.
  2. Choose the storage mode:
    • Import: loads data into the model during processing (most common)
    • DirectQuery: queries the source database live at report time
    • Direct Lake: reads directly from OneLake delta-parquet files (Fabric only)
  3. Configure the table's partition. This is the M query, SQL query, or Direct Lake entity that defines what data the table contains.

Once added, the table and its columns appear in the Explorer based on the schema returned by your data source.

Step 5: Build Relationships in Diagram View

Switch to Diagram View using the view toggle in the toolbar. Your tables appear as cards on a canvas.

To create a relationship:

  1. Click and drag from a column on one table to the matching column on another table.
  2. A dialog opens with the cardinality and cross-filter direction pre-filled.
  3. Review the settings and click OK.

The relationship line appears on the canvas immediately.

Reversing a Relationship

If you created a relationship in the wrong direction:

  1. Right-click the relationship line on the diagram (or find it in the Explorer under Relationships).
  2. Select Edit.
  3. Swap the "From" and "To" tables, or change the cross-filter direction.

Relationship Tips

  • 1:N (one-to-many) is the most common cardinality. The "one" side is usually your dimension table, and the "many" side is your fact table.
  • Cross-filter direction controls how filters flow. "Single" means filters flow from the "one" side to the "many" side. "Both" means filters flow in both directions (use with caution, as it can create ambiguity).
  • You can mark a relationship as inactive if you need it for specific DAX calculations but don't want it to filter by default.

Step 6: Enrich Your Columns

Good metadata makes your model easier to use in reports and helps AI tools like Power BI Q&A and Microsoft Copilot understand your data.

Select any column in the Explorer to open its properties. Here's what you can set:

Data Category

Tells Power BI what kind of data the column contains. For example, setting a column to "City" or "Country" enables map visualizations automatically.

Description

A human-readable explanation of what the column represents. These descriptions show up in Power BI when users hover over fields.

Tip

Writing descriptions for every column by hand can be tedious. The AI Model Documentation feature can generate them for you, and you can refine them in bulk using a Data Dictionary export/import workflow.

Synonyms

Alternative names for the column. If your column is called CustID, adding "Customer ID" and "Customer Number" as synonyms helps Power BI Q&A understand natural language questions.

Data Type

The column's data type (text, whole number, decimal, date, etc.). This is usually set correctly when the table is imported, but you can change it here if needed.

Summarize By

Controls the default aggregation when the column is used in a report. For most non-numeric columns, set this to Do Not Summarize to prevent Power BI from trying to sum or count values that don't make sense to aggregate.

Display Folder

Organizes columns into folders in the Power BI field list. Useful for tables with many columns.

Sort By

Lets you sort a column by another column. A common example: sort a "Month Name" column by a "Month Number" column so months appear in calendar order instead of alphabetical order.

Step 7: Add Measures

Measures are DAX calculations that run at query time, such as total sales, year-over-year growth, or running averages.

  1. Right-click a table in the Explorer and select Add Measure.
  2. Enter a name for the measure.
  3. Write the DAX expression in the editor. The editor provides syntax highlighting and autocompletion.
  4. Set the format string (e.g., #,##0.00 for currency, 0.0% for percentages).

Measures can be moved between tables without losing their definition. Right-click a measure and choose Move to Table.

Next Steps

Your model now has tables, relationships, column metadata, and measures. Next up:

  • Publishing Your First Model: Deploy the model to a server so it can power reports.
  • Data Dictionary: Export your model schema to a spreadsheet for review and bulk-edit descriptions, data types, and more.
  • Diagram View: Learn more about what you can do on the diagram canvas.
Topic Link
TMDL format Tabular Model Definition Language (TMDL)
DirectQuery mode About DirectQuery in Power BI
Direct Lake mode Direct Lake overview
OneLake OneLake overview
DAX overview Data Analysis Expressions (DAX)
Power BI Q&A Use natural language to explore data