Forum Discussion
Developing the Power BI environment (Semantic models, data models and datasets)
Noob here. Apologies for my lack of understanding of what must be a core Power BI concept.
I've developed several Power BI reports based on importing excel files, that are then uploaded as datasets into the Service together with the various reports. Over time this has grown somewhat messy, and I have been reading about contructing a data dictionary. The Youtube videos of using Power BI for a data dictionary seem to report on all the tables, columns and measures within a particular "model", which is often referred to as a 'semantic model'. I realise I dont understand the dataset versus model distinction. Presumably it is good practise to put together one model (data model? semantic model?) that you then populate and use for all the reports, and report off for the data dictionary?
How do you then use that data model in new reports? I've only ever gone back to square one and imported some tables/files each time.
Semantic model, or model for short, is pretty much interchangeable with dataset. In Power BI they used to be called datasets but Microsoft changed the name mid last year. All the articles and videos which pre-date that will refer to datasets.
It is a good idea to have multiple reports running off one centralised semantic model, as opposed to having multiple models, as you can keep all your business logic etc in one place, which eases maintenance. It also allows you to reuse dimensions across multiple fact tables. This is probably most commonly beneficial in terms of a date table. Create a proper date table, marked as a date table, and then you can link that to any other tables in the model, allowing you to compare metrics based on different fact tables in the same visual. There's lots of articles and videos about creating a date table.
As far as creating reports based on the semantic model, when you create a new report you can choose Power BI Semantic Model as an option in the Get Data dialog. That will give you a list of semantic models in the Power BI service, and you just choose the appropriate one.
6 Replies
- johnt75Super User
Semantic model, or model for short, is pretty much interchangeable with dataset. In Power BI they used to be called datasets but Microsoft changed the name mid last year. All the articles and videos which pre-date that will refer to datasets.
It is a good idea to have multiple reports running off one centralised semantic model, as opposed to having multiple models, as you can keep all your business logic etc in one place, which eases maintenance. It also allows you to reuse dimensions across multiple fact tables. This is probably most commonly beneficial in terms of a date table. Create a proper date table, marked as a date table, and then you can link that to any other tables in the model, allowing you to compare metrics based on different fact tables in the same visual. There's lots of articles and videos about creating a date table.
As far as creating reports based on the semantic model, when you create a new report you can choose Power BI Semantic Model as an option in the Get Data dialog. That will give you a list of semantic models in the Power BI service, and you just choose the appropriate one.
- Walt1010Helper V
Thanks for this. Based on what you write, I tried a 'Get Data' with a Semantic Model (which was the data used in a report I'd built), which brings in all the tables, columns and measures, but it only allows me do 1 of those 'Get Data' commands. I'd thought of bringing in several of these and combining them into a single model, but thats not an option. I also notice that there isnt the capability to use the 'Transform Data' on the Semantic Model, or to view the data. So its very gear at just perusing the model.
In order to build the overall model then, its better to bring in the various datasets, combine them, and that creates an overll Semantic Model?
- johnt75Super User
Yes, exactly so. Build one master model with all your individual tables, measures etc, and then build the reports off that.