PBIX models are central to how Power BI organizes and delivers reporting logic. In Microsoft Fabric, building a structured PBIX semantic model ensures your Lakehouse data is properly related, secured, and optimized for reporting. In this guide, you’ll learn step by step how to build and manage a PBIX semantic model inside Fabric from relationships to DAX measures and Row-Level Security.
That’s where a semantic model comes in.
A semantic model in Fabric allows you to:
- Combine tables from a Lakehouse or Warehouse
- Build relationships
- Create DAX measures
- Implement Row-Level Security (RLS)
- Standardize naming conventions
- Enable consistent reporting across multiple Power BI reports
In this guide, you’ll learn exactly how to create a semantic model inside an existing Fabric workspace from connection to security configuration.
If you’re looking to deepen your expertise beyond this guide, you can explore structured, instructor-led Power BI training
Step 1: Create a New Semantic Model in Fabric
Inside your Fabric workspace:
- Click New Item
- Select Semantic Model
- Choose your data source
If your data already exists in a Lakehouse:
- Select OneLake catalog
- Choose your Lakehouse (e.g., Adventure Works Lakehouse)
- Click Connect
Best Practice: Naming Convention
Use a structured naming format like:
SM - Adventure Works Sales - NL
Include:
SMprefix (for semantic model)- Business domain
- Optional initials (for shared environments)
This avoids conflicts and keeps workspaces organized.
Step 2: Select Tables for Your Mode
After connecting, choose the tables you want:
- Date table
- Fact table (e.g., Internet Sales)
- Dimension tables (e.g., Customer)
Click Confirm, and Fabric will build the semantic model.
You’ll now see the familiar Model View, similar to Power BI Desktop.
Step 3: Create Relationships (And Avoid Common Mistakes)
To create relationships:
- Drag from a key column in one table
- Drop onto the corresponding column in another
For example:
- Date → Order Date
- Customer Key → Customer Key
Fabric typically auto-detects:
- One-to-many cardinality
- Active relationship
- Single-direction filtering
Important: Always Double-Check Cardinality
Fabric does not always detect cardinality correctly.
Common issues:
- One-to-many incorrectly set as many-to-many
- Direction reversed
- Wrong key columns matched
Unlike Power BI Desktop, Fabric does not preview matching values during relationship creation. You must know your schema.
Step 4: Fix Data Type Errors in Relationships
If you receive an error like:
Data types are not compatible for a relationship
For example:
- One column = Decimal
- Other column = Whole Number
Quick Fix Inside the Semantic Model
- Select the column
- Change the Data Type in Properties
- Retry the relationship
Important:
This change only affects the semantic model it does NOT fix the Lakehouse data.
Best Practice
Fix data types at the source (Lakehouse, Warehouse, pipeline, or SQL).
Only use model-level fixes as temporary solutions.
Step 5: Add or Modify Tables Later
Need to bring in more tables?
Click Edit Tables at the top.
You can:
- Add new tables
- Remove existing ones
If New Tables Don’t Appear
Click the Refresh button (top-right).
This forces Fabric to:
- Check the Lakehouse
- Refresh metadata cache
- Pull in new schema changes
This also works if:
- A new column was added
- SQL modified a table
- A Dataflow changed structure
Step 6: Understand Direct Lake & Transform Data Limitations
If your semantic model connects via Direct Lake, you may notice:
- “Transform Data” is disabled
Why?
Because Direct Lake reads data directly from the Lakehouse files it does not allow Power Query transformations at the model level.
However, if you:
- Add an Excel file
- Add a CSV file
Then Power Query becomes available for those sources.
Step 7: Clean Up Naming Conventions
Before building reports, clean up:
- Table names
- Column names
- Remove prefixes like
dboordim
This improves:
- Usability for report builders
- Business clarity
- Adoption across teams
Renaming inside the semantic model does NOT change source data it only affects presentation.
Step 8: Create a Measures Repository (Highly Recommended)
One of the most important best practices is creating a Measures Repository.
Instead of storing measures in fact tables:
Create a Blank Table
- Click Get Data
- Search for Blank Query
- Create a small placeholder table
- Name it:
_Measures
Add a dummy column temporarily.
After saving:
- Create your first measure (e.g., Total Sales)
- Delete the dummy column
Now the table converts into a measure-only table (calculator icon).
Example Measure
Total Sales =
SUM('Internet Sales'[Sales Amount])
Benefits of a Measures Repository
- Keeps model clean
- Centralizes calculations
- Easier maintenance
- Allows display folders
- Professional standard for enterprise models
You can also create Display Folders such as:
- Sales Metrics
- Customer KPIs
- Time Intelligence
Step 9: Configure Row-Level Security (RLS)
To create security rules:
- Click Manage Roles
- Create a new role
- Add a DAX filter
Example:
[Sales Territory Key] = 3
This restricts users to Sales Territory 3 (e.g., Florida, Georgia, Alabama).
After saving:
- Go to the semantic model in your workspace
- Open Security
- Assign users or security groups
Why This Matters
If 100 reports use this semantic model:
- Security is enforced everywhere
- No need to reconfigure RLS per report
This is enterprise-grade data governance.
Step 10: Managing Your Semantic Model
From the workspace, you can:
- Open in editing mode
- Assign security
- Schedule refresh
- Manual refresh
- Analyze in Excel
- View lineage
- Delete or duplicate
To make changes:
Switch from Viewing → Editing mode (top right).
Why Semantic Models Are Critical in Fabric
A well-designed semantic model:
- Standardizes metrics
- Prevents inconsistent calculations
- Enforces governance
- Improves performance
- Enables scalable report development
In enterprise Fabric environments, this is often the final step before reports are built.
Want to Master Power BI and Fabric?
If you’re serious about building production-ready semantic models, DAX measures, and enterprise-grade Power BI solutions, structured training can dramatically accelerate your progress.
Explore comprehensive Power BI training programs
Frequently Asked Questions
Can you create multiple semantic models from one Lakehouse?
Yes. This is very common and recommended for different business domains.
Does changing data types in the semantic model affect the Lakehouse?
No. Changes only apply to the semantic model.
Why doesn’t Transform Data work in Direct Lake?
Because Direct Lake bypasses Power Query and reads directly from Delta files.
Should measures be stored in fact tables?
No. Use a dedicated Measures Repository table.







