Forum Discussion

mshparber's avatar
mshparber
Advocate I
4 years ago
Solved

Deploying the Data in Pipelines - new calculated column not recalculated

I am playing around with Pipelines.
I've added a calculated column to my model in the Desktop, added a visual with this column and published to the [Dev] Workspace.

After "Deploy to Test" I see the new visaul with this error:
"The expression referenced column 'MyTable'[New Calculated Column] which does not hold any data because it needs to be recalculated or refreshed"
So I assume it only deployed the changes without data process.

If I deploy to production the same will happen, right? Even if I refresh the [Test] dataset before deploying.

How can I deploy this change to the Production without showing the visual with the error to my viewers even for a second?

Is there a way to deploy everything including the Data itself from [Test] to [Prod]?
What do I do?

  • I think this procedure should work:

    1. Make a copy of current dataset in production
    2. Update your production report to point to dataset copy*
    3. Perform a selective deployment to just push the dataset only from test to production (it will overwrite your original dataset, but not the test your report is currently using)
    4. Refresh the newly deployed dataset (should populate your calculated column here)
    5. Perform another selective deployment to now overwrite the report (I believe it will switch back to pointing to the original dataset at this point, no need to do as a separate action beforehand)
    6. Delete the dataset copy from step #2, since it's no longer needed or in use

    *If you haven't already, you can split your pbix into two files: one where you just define the model (can leave report page blank or use for testing, and then just delete the report, exclude from app, etc.), and the other where you specify a Live connection to the dataset of the first and build out your report. This way, your report and dataset are managed by separate pbix / deployable content.

4 Replies

  • I think this procedure should work:

    1. Make a copy of current dataset in production
    2. Update your production report to point to dataset copy*
    3. Perform a selective deployment to just push the dataset only from test to production (it will overwrite your original dataset, but not the test your report is currently using)
    4. Refresh the newly deployed dataset (should populate your calculated column here)
    5. Perform another selective deployment to now overwrite the report (I believe it will switch back to pointing to the original dataset at this point, no need to do as a separate action beforehand)
    6. Delete the dataset copy from step #2, since it's no longer needed or in use

    *If you haven't already, you can split your pbix into two files: one where you just define the model (can leave report page blank or use for testing, and then just delete the report, exclude from app, etc.), and the other where you specify a Live connection to the dataset of the first and build out your report. This way, your report and dataset are managed by separate pbix / deployable content.

    • mshparber's avatar
      mshparber
      Advocate I

      Yes, I think this can work.

      Wish they had more options for deployment.

      Thanks!

  • Anonymous's avatar
    Anonymous
    Not applicable

    HI mshparber,

    What type of data source are you working on? Connection mode? Can you please share some more detail about these? They should help us clarify and troubleshoot your scenario:

    How to Get Your Question Answered Quickly  

    In addition, if you are working with the import mode, these data model table records will be synced to the next steps.

    Regards,

    Xiaoxin Sheng

    • mshparber's avatar
      mshparber
      Advocate I

      Datasource - SQL Server (but how does it matter)?

      Connection Mode - Import Mode.

      Except for this, I didn't understand what you are saying.

      Did you read my post?