The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello,
I am working in a project where I have suggested the use of PowerBI:)
The requirements are the following:
1) the created dashboard should load data from different Databases source based on the logged in User. Each User has its own Database. Should I create a unique dashboard for each user? How Can i configure it automatically for x number users?
2)Some of the created dashboards need to load data from the same DataSet but they should be able to see only their own data, so it is also based on the logged in user
I am not sure I can achieve this with RLS.
The Databases have the same datamodel, so basically the dashboard will continue to work based on the same data. How can this be achieved? Is there any good solution architecture I should consider?
Thanks for your help.
Solved! Go to Solution.
For #1, no I do not know if there is a way to change that via the API, my guess is going to be no.
For #2, yes, you understand the concept correctly.
You could explore parameters and modifying the data connection source based upon the user name. However, I think that RLS is the correct way to go. You could bring in all of the data from all of the databases into a single model and use RLS. You would create one set of reports and one dashboard for all users and use RLS to make sure that they only see their data. It is all about how you setup the roles and rules in RLS.
Hi smoupre,
Thank you. It sounds reasonable.
1)Do you know if there is an API to change the connection string source of a dashboard/report which is embedded?
2)As far as I understand, I should import all the databases into one since they share the same model and let the dashboard point to it and use RLS, I like it, even if the single model requires a bit of more work since the single databases might change and be out of sync. Did I understand your answer correctly?
For #1, no I do not know if there is a way to change that via the API, my guess is going to be no.
For #2, yes, you understand the concept correctly.