Forum Discussion
Difference between "normal" semantic model and default semantic model in a Lakehouse?
Hi to all,
we're trying to understand how to move an existing semantic model made on PBI Desktop to a Default Semantic Model on a Lakehouse.
We're experiencing some differences in capabilities, and we cannot find anything in the documentation explaining.
Here are the main issues:
- Can't create a many-to-many relationship (see screenshot)
- Can't create a column with spaces
- Can't create a column with some special characters (like è,à,... and so on).
While the second and the third point are understandable (but I'd like to have some doc about it), the first one is really strange. I really think that many-to-many relationships should be avoided, unfortunately they exists, and if this isn't supported, we can't use the automatic code to generate the PBI Query Template.
Thanks
Daniele
7 Replies
- AnonymousNot applicable
Hi daniele_tiles ,
The inability to create many-to-many relationships in a Default Semantic Model is a known limitation. This stems from the design principles of Power BI and Microsoft Fabric, where the emphasis is on maintaining a star schema for analytical models to ensure optimal performance and simplicity in report design. Many-to-many relationships can introduce complexity and ambiguity in data analysis, which is why they are generally not recommended. However, if you need to model such relationships, consider using bridge tables or creating explicit dimension tables to simulate the many-to-many relationship indirectly. For more insights on handling many-to-many relationships, please refer to this documentation: Many-to-many relationships in Power BI Desktop - Power BI | Microsoft Learn
Hope it helps!
Best regards,
Community Support Team_ Scott ChangIf this post helps then please consider Accept it as the solution to help the other members find it more quickly.
- daniele_tilesAdvocate II
Hi Anonymous ,
thank you very much for your answer. While I totally agree (as stated before) that many-to-many relationship are not a good practice, I would like an official doc\link that states this difference on a default semantic model (and even for other differences). If you check here: Data modeling in the default Power BI semantic model - Microsoft Fabric | Microsoft Learn, the many-to-many relationship is stated, so this is a bit "confusing".
That's very important for evaluating the usage of the external tools for creating the model in the Lakehouse based on an existing model made with PBI Desktop. Maybe there other differences that we need to know, and it'd be very useful to have all of them traced in an official page.
- AnonymousNot applicable
Hi daniele_tiles ,
Hope you didn't miss this link:Improvements for creating new Direct Lake semantic models | Microsoft Power BI Blog | Microsoft Power BI
If you would like to suggest feature improvements, you may vote the idea and comment here to improve this feature. It is a place for customers provide feedback about Microsoft Office products . What’s more, if a feedback is high voted there by other customers, it will be promising that Microsoft Product Team will take it into consideration when designing the next version in the future.
Best Regards,
Community Support Team_ Scott Chang
- daniele_tilesAdvocate II
Hi Anonymous ,
we had a call with Microsoft Support and I'm a bit baffled from what we've found (and the support will go through this because it's strange).
So, the default semantic model has this problem on many-to-many relationship. However, if we create a new semantic model on Power BI Service on the Lakehouse, it's possible to define the many-to-many relationship.And the interface is different! So I'm getting even more confused...
Kind regards
Daniele
- daniele_tilesAdvocate II
Hi Anonymous ,
we've also checked that with a new PBI Semantic Model, created against the lakehouse via PBI Service, we can rename columns and tables to be more useful for the final users, and the same of the original semantic model. And it's really a semantic model, because it doesn't modify the physical name of columns and tables on the lakehouse.
So I'm very confused about the differences and limitations (why the default semantic model is so rigid, and why a new semantic model on a Lakehouse is not?).