Dynamic models
Last updated
Last updated
Dynamic models, or Dynamic Dataset Binding, is a feature exclusive to Power Embedded and not available in the Power BI service, designed for scenarios in which a single report is accessed by different clients, each using a different semantic model, and therefore viewing different data.
It would be possible to have this same behavior by creating several reports to meet this need to view different data depending on the user who is viewing it, but if you need to adjust measures or even improve a visual, you would have to change all the reports, which could cause inconsistencies in data and calculations between reports.
Using dynamic templates, when you update a single report, everyone will see the changes in the same way, since it will only be a single report and N dynamically associated templates.
The biggest advantage of this functionality over row-level security (RLS) is in performance and security itself.
This is due to the fact that when you apply a lot of RLS rules to a semantic model, the model ends up being very large, as it contains data from several customers, for example, and this can cause a significant increase in the consumption of processing capacity, as each rule creates a separate subset of data internally.
A dynamic model will query a specific model depending on the user viewing the report, resulting in smaller, independent and isolated models, which can not only improve performance, but also strengthen security, even in cases of errors in the measures that control the RLS.
Dynamic models allow different clients (Client A, Client B, Client C) to access the same report by applying filters at the model level. For example, if a user is associated with Model A, the system will dynamically connect the report to Model A without the need to filter the data manually.
Usage Example
When adding a model by clicking the "Add Model" button, you will have access to all imported datasets.
You can select the desired dataset and assign users to that model.
From that moment on, when a user accesses the report, the semantic model will automatically change according to the assigned rule.
For example: When the user "cliente1@hotmail.com" accesses the portal, they will be identified as part of the "Demo 01" dataset and will only see information relevant to their profile.
It is possible to include multiple users and/or groups in a single dataset and associate multiple datasets with the report as needed, keeping in mind that the data structure (table names, columns, measures, and relationships) must be identical across dynamic datasets.
To assign a user to a dataset, simply click "Actions" > "Manage" and choose which users or groups will be part of it.