Forum Discussion
Deployment Pipelines and Dataflows
Hi,
I have a workspace that contains all my Dataflows. This Dataflow-Workspace has the deployment Pipeline enabled.
The other workspaces contain reports and datasets that make use of the dataflows.
Those workspaces have also deployment Pipelines enabled.
I chose this setup before I enabled the deployment pipelines because I make extensive use of dataflows and having them in one single workspace seemed like a good idea to keep things organized (as one dataflows gets used by multiple reports).
Naturally I would like to have my DEV-Dataflows to be the data source for my DEV-Datasets & Reports (same for TEST and PROD). However if I am not mistaken, rules for Dataflows in Pipelines are not supported (atm?) (https://docs.microsoft.com/en-us/power-bi/create-reports/deployment-pipelines-get-started#deployment-rule-limitations). This means that I can't set different dataflows as a reports data source depending on the stage the report is in.
Is this correct? Would it be a much better setup to have the Dataflows in every workspace where they are being used (this would mean to have duplicates)? I'm using PBI Premium PU if this makes any difference!
Thanks!
11 Replies
- chris__1Advocate II
I'll try to break down the core of my question:
Is it possible to use parameters to have the datasets of reports point to different dataflows as datasource if those dataflows are in a different workspace? The DEV, TEST and PROD datasets should use the DEV, TEST, PROD dataflows.
Thanks!
- AnonymousNot applicable
Hi chris__1 ,
Now Power BI Pipelines support Dataflows.
The article says:
-
To create a deployment rule, you must be the owner of the dataflow, dataset or paginated report you're creating a rule for.
-
Rules for dataflows that have other dataflows as sources, are not supported.
-
Data source rules for common data model (CDM) folders in a dataflow, are not supported.
-
Rules for datasets that use dataflows as their source, are not supported.
Each workspace (or environment) is available only for members of that workspace. If you build all your dataflows in one workspace, you're minimizing the reuse of your dataflows. You can have some generic workspaces for dataflows that are processing company-wide entities. You can also have some workspace for dataflows to process entities across multiple departments. And you can also have some workspaces for dataflows to be used only in specific departments.
More details:Best practices for reusing dataflows across environments and workspaces
If it does not help, please provide more details with your desired output.
If it doesn't help, please provide a simple sample with the same issue.
Best Regards
Community Support Team _ Polly
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
-
- Nimrod_ShalitPower BI Team
- chris__1Advocate II
Nimrod_Shalit I don't think that the method you described works in my case.
Let me explain the setup I am using:
Pipeline A: Contains the Dataflow A. Dataflow A is deployed in DEV, TEST and PROD of Pipeline A
Pipeline B: Contains the Report B and the Dataset B! Report B uses Dataset B with uses the Dataflow A as its (only) Datasource.
Trying to deploy the Report B and Dataset B from DEV to TEST gives me this error message:
I am doing something wrong here? The Dataflows do exist in the the DEV-Stage of Pipeline A! If I am not doing something wrong, I guess the error message means that I need to have the Dataset in the same Pipeline as the Dataflows. However from a maintenance perspective it would be so much easier it we could have the Reports and Datasets in one Pipeline and Datasets in a different Pipeline!
Thanks for any advice!
- Nimrod_ShalitPower BI Team
You don't need to change anything. Looks like the dataflow in pipeline A just doesn't exist in Test stage. Since we are trying to maintain the same structure as in Dev stages of pipelines A & B, we first check if the dataflow also exists in Test of pipeline A, so we can connect the dataset to it.
Please make sure the dataflow exists in Test of pipeline A, and then redeploy dataset and report in pipeline B from Dev to Test.