Forum Discussion
Filtering semantic model for end-consumer
- 2 years ago
I've moved this entire topic to the Power BI forum as it's more closely related to Power BI specific inquiries and behaviors.
The answer or solution, as previously stated by others, is implementing your own RLS logic. That would make sure that folks only get to access exactly the data that they need to access and nothing more.
How you could implement such RLS logic / policy is something that the Power BI forum would be far better suited than the Dataflow Gen2 forum.
Could you give each client just a CSV file or an Excel file?
Or the client needs to access the semantic model directly?
How complex is the Excel file you are creating?
If the client only needs a CSV file or Excel file, maybe it's possible to use Notebook or Power Automate to loop through your list of clients, query the semantic model data (or Lakehouse data directly) based on client identity, and create a CSV file or an Excel file for each client.
With Power Automate, I guess you could use a template Excel file and create a copy for each client and fill with the client's data by querying the Power BI semantic model from Power Automate, using the client identity as a query variable. Looping through the list of clients to create a copy for each client.
--------
Anyway, this is an interesting topic and I guess many companies could be interested in knowing how to solve such cases.
Hoping someone else have some viewpoints and suggestions on this topic 😀
- SuperFiets_2 years agoHelper I
The client unfortunately needs to access the semantic model directly. So the only way to do this is to use analyze in Excel feature in Power BI. The templates are also quite complex and have quite a lot of pivot tables, summaries etc.
I think we will approach it partly how we used to. Connecting the semantic model directly to a Power BI Desktop file, use query folding to get 1 client and then publishing the filtered semantic model. That way the data is safely filtered and can't accessed with some tinkering. Would involve building a PA Desktop bot to set up all the files, but that wouldn't be too much of an issue.