Forum Discussion

LeboeufHarry's avatar
LeboeufHarry
Helper I
6 years ago

Deployment Pipelines and Shared Datasets

I saw a similar message on this but not quite the same.

My Setup.

 

First I created a report with a inline dataset as simple as select * from sys.objects (Azure Synaps). I Deployed this to a workspace 'aWS Creator' (Dev). Then created a pipeline to 'aWS UAT' (Acc) and further 'aWS Consumer' (Prod).

I was able to alter on each workspace the settings of the dataset (the login credentials) to our 3 different Synaps DWH.

So a perfect solution, worked fine.

 

But, I wanted the same result with a Shared Dataset. So created 3 New Workspaces & Depl-PipL 'aDW Creator', 'aDS UAT' and 'aDS Consumer', again I was able to change the the credentials and server settings.

 

On the 'aWSCreator' I placed a new Report that was using the PBI Dataset from the 'aDS Creator' workpace. Published it, still all ok. Deployed that workspace to 'aWs UAT' and 'aWS Consumer'.

 

But on these 2 worspace I have no pisibility to change the 'source' Dataset in the settings, can't find a way. Would have to download the pbix, alter it in desktop and republish it, what is then completelly missings the goal of the pipeline ...

 

Any suggestions ?

5 Replies

  • v-kelly-msft's avatar
    v-kelly-msft
    Community Support

    Hi  LeboeufHarry ,

     

    Check the reference below:

    How can I change the data source in the pipeline stages?

    You can’t change the data source connection in Power BI service.

    If you want to change the data source in the test or production stages, you can use dataset rules or APIs. Dataset rules will only come into effect after the next deployment.

     

    Here is the link:

    https://docs.microsoft.com/en-us/power-bi/create-reports/deployment-pipelines-troubleshooting

     

    Best Regards,
    Kelly
    Did I answer your question? Mark my post as a solution!
  • Hi LeboeufHarry ,

    what you are trying to do isn't supported yet, as it's a cross-pipelines auto conneciton update between datasets and reports.

    how it works today is that a report connected to an external dataset (i.e., not in the same pipeline/ WS), will remain connected to the same dataset after deployment. 

    You can update it also using the 'rebind' API, but it will not help as well since on the next deployment the connection will be overriden again and will point to same dataset.

     

    My suggestion:

    To manage versions and updates for the shared datasets, keep a local copy of a sample report in each stage of the pipeline, just to make sure the changes don't break anything important. the Prod dataset will be the one connected to all stages of the reports in other pipelines. 

    To manage versions and updates of the relevant report, dev/ UAT will be connected already to the Prod dataset, so it's kind of an advantage in a way.

     

    Hope this makes sense as a workaround.

     

    • LeboeufHarry's avatar
      LeboeufHarry
      Helper I

      This is how we do it now.

      Pbix are following they way up and are altered to the Acc/Prod Datasets and the put in the release folders.

      On the next release they are uploaded/published to the Workspaces and App are republished.

       

      We hoped that these pipelines would be the easier solution, works fine if you have real datasources in your report. But as we followed MS in the thoughts of Shared DataSets .. We are ... beeped... 🙂

       

      Might be a good idea for a future enhancement for deployment pipelines.

      With the rules it works fine for real datasources, but not yet for linked datasets. Knowing MS/PBI-Team they will find a solution. Then you realy have a deployment process.

       

      Kr, Harry

    • LeboeufHarry's avatar
      LeboeufHarry
      Helper I

      Hi Nimrod_Shalit 

       

      A second suggestion, that I could not yet find into the Dataset Rules is to change the login user/password.

      It is possible to change Server/Database but not (in the rule) to specify the user.

      We use the same userid on all our 3 Synaps Databases but they all have a different password, to secure that a mismatch between version and database would fail.

       

      Kr, Harry

       

      • Nimrod_Shalit's avatar
        Nimrod_Shalit
        Power BI Team

        For security reasons, we cannot pass on passwords across deployments, not create rules for them.

        it will work just like any other WS in Power BI-

        dataset owner needs to have the creds for the data source, and needs to enter them only once.

        for future deployments, only dataset owner can override the dataset, so the creds will not be harmed, either if you have a rule for the data source or not.