I need help determining a best practice for my orgnaization's reporting lifecycle. My organization manages its reporting lifecycle via workspaces in a single instance of Power BI (Premium capacity). That is, we have separate workspaces for Development, Test, and Production. My organization also separates semantic models from reports. That is, all reports are in Live mode against some semantic model. Our philosophy for lifecycle is that every successive "layer" in our data platform sources from the Production environment (not a non-Production environment) of the previous layer (e.g., the semantic layer points to the Production environment of the data warehouse). So, with that philosophy, all reports source from semantic models in Production workspaces, not Development or Test workspaces.
We don't want cross-workspace sourcing (e.g., we don't want a report in workspace A sourcing from a semantic model in workspace B). However, the combination of report-model separation and lifecycle-via-workspaces seems to force us into cross-workspace sourcing. Is there a way to avoid this? Or, is there a best practice around this?
For example, suppose report A sources from semantic model X. Because we want all reports to source from Production (not non-Production), then report A sources from semantic model X in a Production workspace (as opposed to, say, the instance of semantic model X in the Development or Test workspaces). So, when report A moves through its lifecycle (i.e., it moves through Development, Test, and Production), the instance of report A in the Development and Test workspaces violates our cross-workspace rule (because the instance of report A in those workspaces will point against a Production workspace). How can we avoid this? Or, is there a better pattern for managing the lifecycle? It's almost like we need separate Power BI instances to avoid the cross-workspace sourcing problem.