top of page

Creating and editing Direct Lake semantic models

Semantic models with Direct Lake tables have two flavors and can be edited in both web modeling and Power BI Desktop.


What is Direct Lake table storage mode and what is the difference between "on SQL" and "on OneLake"?
What is Direct Lake table storage mode and what is the difference between "on SQL" and "on OneLake"?

Direct Lake table storage mode comes in two flavors.


Direct Lake on SQL was the initial release. It's "on SQL" because it connects through the SQL analytics endpoint to the OneLake delta tables. Why would we do that? For one, it allows you to pick views you created there which can be accessed via DirectQuery. It is also limited by being able to only source from one Fabric item. You could still combine sources, but you had to do it in a Lakehouse first via shortcuts or other means. Create only available in web on the Fabric item you want as the source but can be edited in both web modeling and Desktop.


Direct Lake on OneLake is the more recent version. It's "on OneLake" because it doesn't go through the SQL endpoint anymore. No fallback to DirectQuery so no views can be used unless materialized in the OneLake. This does have the added bonus of it now being actual Direct Lake, not DirectQuery. There are a number of other advantages. You can just pick various Fabric items to source tables from. And even import and DirectQuery tables can be added. This is a true composite model of anything in OneLake and anything you could connect to before in Power BI. Create only available in Desktop, and edit is available in both web and Desktop, but web is currently only limited editing.


More details on other differences can be found at https://aka.ms/directlake.


Create semantic models with Direct Lake tables
Create semantic models with Direct Lake tables

The vision is you can create these tables anywhere, but for now certain entry points lead to Direct Lake on SQL and others to Direct Lake on OneLake.


You can migrate in place using TMDL or XMLA. TMDL view is available in Desktop for either Direct Lake flavor! So, don't stress if you had created it in one or the other and realized it wasn't suiting your needs. https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-power-bi-desktop#migrating-direct-lake-on-sql-semantic-models-to-direct-lake-on-onelake


Edit semantic models with Direct Lake tables
Edit semantic models with Direct Lake tables

Editing of these models can be done in web modeling or Desktop. Direct Lake on OneLake editing in web is "limited editing". This means you can't use Edit tables yet. Edit tables is how you can pick different tables from existing data sources. And OneLake catalog isn't available to pick new tables just yet. You can do these things in Desktop, and from web modeling you can even flip to editing in Desktop.


The creating and editing of Direct Lake + Import tables is only available via XMLA at this time. This is typically done by using Tabular Editor or SQL Server Management Studio. There is also a VS code extension called Fabric Studio or Fabric Notebooks with Semantic Link Labs that can help. It is not trivial to create and maintain them via XMLA, but soon it will be coming to web modeling, as noted on the Power BI roadmap at https://aka.ms/pbiroadmap. Then it will be much easier!


All the experiences to create these semantic models don't have the report view right there like when creating import models. This is not as bad as it seems. After doing Power BI development for a bit, I started to have a PBIX for the semantic model and a PBIX for the report anyway. Why? Because it's easier to manage that way!


So once the semantic model is created, just open up another instance of Desktop and live connect to the semantic model. Get Data > Power BI semantic models. If you are still editing it somewhere it will be at the top of the list! You can also create reports in the web, but you won't have the reporting and visual preview features available there yet. Or format painter and performance analyzer, which I always prefer to have available!


Another bonus is now you can have the semantic model on one screen and the report on the other.

© 2021-2025 by Zoe Douglas (DataZoe). Proudly created with Wix.com.

  • GitHub
  • LinkedIn
bottom of page