The Lakehouse or Warehouse comes with a default Power BI Sematic model, which can be used for reporting and analytics. However, you can also build and use a customized semantic model. There are significant differences when using the semantic model in real-world analytics projects. In this article, I’ll explain the difference between these two, which one is recommended, and why.
Video
Default Semantic Model
When you build a Lakehouse or a Warehouse, they come with the SQL Analytics Endpoint, and a default semantic model for Power BI. Below is a screenshot of the default semantic model associated with a Lakehouse.
The default semantic model is automatically created and associated with Lakehouse. To edit it, go to the SQL Analytics Endpoint by selecting it from the dropdown on the Lakehouse Explorer.
Once you are in the Model tab of the SQL Analytics endpoint, you can see the tables in the model and start editing them.
Limitations of the Model Editor
When you work with the default semantic model, the model editor experience is limited. You can create relationships, apply some column properties (such as hiding columns or setting the format); you can even create DAX measures. However, You cannot create calculated columns or tables or set the row-level security in this editor.
Custom Semantic Model
You can create a customized semantic model from the Lakehouse (or Warehouse) SQL Analytics endpoint using the button in the Data tab under Reporting to create a New semantic model.
When you create the semantic model this way, you can choose the tables you want and add them to this semantic model.
Enhanced Model Editor
When you build a custom semantic model, you will be navigated to the enhanced model editor experience, which is noticeably different from the experience in the default semantic model.
This model editor will enable you to create calculations and apply field-level formatting. It also offers extra options, such as creating hierarchies, creating all DAX calculations (measures, tables, and calculation groups), and row-level security options.
*The changes in the model will be automatically saved as you apply them.
Another point is that when you create your custom semantic model this way, it still supports the Direct Lake connection.
The custom semantic model, then can be used in creating reports directly from the model editor;
or by creating reports using the more options from the semantic model;
Or you can create the report using Power BI Desktop and connecting to the Power BI semantic model;
The Enhanced model editor isn’t available for the default Semantic model
Even if you want to use the enhanced model editor experience using the default semantic model, you cannot. As you can see, the Open data model is greyed out for me with the default semantic model;
There might also be other reasons the open data model is greyed out; here is a full list.
There are other ways to create new semantic models
Note that there are other ways to create a new semantic model, which are not all necessarily the same.
For example, you can start from the Power BI Desktop and get data from the Lakehouse or Warehouse;
If you choose a Lakehouse (or Warehouse) and click on Connect, then it will not create a new semantic model; it will create a report with a live connection to the default semantic model.
If you click on the connect dropdown and select Connect to SQL endpoint, you will connect to the Lakehouse or Warehouse as a database. You will have the option to choose either Import Data or DirectQuery, neither of which will be similar to Direct Lake.
Recommendation Summary: Create a Custom Semantic Model
Based on what you saw and the leverage of the full model editor experience online, I strongly recommend not using the default semantic model but creating a custom one. The online editor for the custom semantic model is much more enhanced. The editor might be available for the default semantic model later, too, but you won’t get those features there now. In a real-world implementation, you will need to set up hierarchies and calculation groups, create tables, and set up row-level security, which are the features available in the enhanced model editor when using a custom semantic model.
Be careful: Creating a semantic model from the Power BI Desktop experience may result in Import Data or DirectQuery, which is different from the Direct Lake experience.
To create the custom semantic model, start from the SQL Analytics endpoint and create a new Semantic model.
I don’t recommend creating a semantic model per report. You still want to use the shared semantic model concept as much as possible. You can create multiple reports connected to the same semantic model whenever you want. This will enhance the overall architecture of multi-layered development for Power BI objects.
Here are links to study more;
- What is Microsoft Fabric Lakehouse
- What is Microsoft Fabric Warehouse
- Lakehouse, Warehouse, or Datamart
- Import Data connection type
- DirectQuery connection type
- Direct Lake connection type
- Live connection from a report to the Power BI semantic model
- Multi-layered Architecture for Power BI
- Data-level Security in Power BI