Forum Discussion

mshparber's avatar
mshparber
Icon for Advocate I rankAdvocate I
4 years ago
Solved

Deploy changes without Data Refresh

I have a large model that takes 30 minutes to refresh on a strong Desktop. It is scheduled to refresh in the Service (PPU Workspace).
I frequently make changes to visuals and measures but I before I deploy I always have to refresh so that when I Publish, the data is up-to-date...
How can I deploy these changes quickly without having to refresh the data in my desktop?
In SSAS Tabular models in SQL Server I can deploy with "Do not process" option.
How can I do it in Power BI?
  • You want to make sure you have separated off your power bi report layer (https://m.youtube.com/watch?v=PlrtBm9YN_Q) and then as lbendlin suggests use the xlma end point. Everything you can do with on prem SSAS is there. I connect to my model using tabular editor but you can use visual studio. Only use power bi desktop for report visual design. Everything else sits in tabular editor/visual studio.

12 Replies

  • "before I deploy I always have to refresh so that when I Publish, the data is up-to-date..." 

     

    That is not mandatory.  Any meta data update will automatically initiate a dataset refresh anyway.

     

    On Premium you can refresh entire datasets, individual tables (queries) and even partitions (if you use incremental refresh).  The refresh request options are the same as in SSAS Tabular  (because datasets are in essence the same as SSAS Tabular models).

    • mshparber's avatar
      mshparber
      Icon for Advocate I rankAdvocate I

      "Any meta data update will automatically initiate a dataset refresh anyway."

      But before it updates in the service, my users will see outdated data for 30 minutes.

      This is unacceptable.

      But I think I found a way - to use pipelines. I am still reseaching...

      • lbendlin's avatar
        lbendlin
        Icon for Super User rankSuper User

        You can also use XMLA endpoint requests that allow you to specify exactly what part of the dataset/table/partition should be refreshed.  Same as what you can do in regular (tabular) SSAS.

  • bcdobbs's avatar
    bcdobbs
    Icon for Community Champion rankCommunity Champion

    You want to make sure you have separated off your power bi report layer (https://m.youtube.com/watch?v=PlrtBm9YN_Q) and then as lbendlin suggests use the xlma end point. Everything you can do with on prem SSAS is there. I connect to my model using tabular editor but you can use visual studio. Only use power bi desktop for report visual design. Everything else sits in tabular editor/visual studio.

    • mshparber's avatar
      mshparber
      Icon for Advocate I rankAdvocate I

      Ok, this can work. So I'll have to change measures in the Visual Stusio / Tabular Editor and deploy only metadata. And the Visuals I need to change in the reporting .pbix file....
      Then it means I have to make changes in two places, but still a possible solution, thanks.

      What about Pipelines? Can that work?

      • bcdobbs's avatar
        bcdobbs
        Icon for Community Champion rankCommunity Champion

        I suppose I've always seen it as separate concerns rather than making changes in two places. I work on a central data model in tabular editor/VS just as I would do with an on prem SSAS instance (Microsoft describe power bi premium/premium per user as being a superset of azure analysis services). 

        Then I consume that data model in power bi reports, excel etc.

         

        I think deployment pipelines would work though. Only thing you have to watch is if you make a certain changes to the model (relationships/calculated columns) you then need to connect to the xlma end point and force a recalculation at least if you don't do a full refresh.