Forum Discussion
thoughts on design principles
- 6 months ago
Hi _bs_
The current architecture using Composite Models (DirectQuery over Power BI Datasets) is the correct approach and aligns with the industry standard for "Golden Datasets." The appearance of "Analysis Services" connections is technically accurate because every Power BI Dataset is hosted on an internal Azure Analysis Services instance; this is not "messy" but rather how the backend exposes the connection string.
Regarding the concern about a user leaving the organization, this is an administrative task rather than an architectural flaw. If the original owner's account is disabled, another workspace admin can simply use the "Take Over" feature in the dataset settings to transfer ownership and update credentials. Ideally, for production environments, the connection should be authenticated via a Service Principal to decouple the report's lifecycle from individual employees entirely.
Switching to the proposed alternative of importing data directly from the Data Warehouse would be a strategic error. It creates "Data Silos," forces the redundant recreation of measures across multiple files (violating the DRY principle), and increases maintenance overhead significantly. If a business definition changes, you would have to update every individual file rather than just the upstream semantic model. Sticking to the shared semantic model ensures a "Single Version of the Truth" and efficient capacity usage.
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly
Hi _bs_ ,
Has you refer the best practice is to have this connection made using a service account and not your personal account and then share it with other users that can then connect to it.
If you leave the company then the connection will not work however a colleague can take over the semantic model and redo the connections and everything will continue to work because the connection to the specific datasets will be redirected.
I advise that you try and check with your admin an option to get a service principal to take over the connection and then shared it with you.