Forum Discussion

MichelleRoberts's avatar
21 days ago
Solved

Refresh Errors

Hello!

I have several reports that are pulling from semantic models that are built from Azure Data Lake tables. Some of these reports have email subscriptions and when I created the reports, I was told it would be best to setup a refresh schedule for right before the report is set to email so that the data on the report is current to what's in ADF. However, every morning, I come in and get errors that these semantic models failed to refresh due to a transient issue. Eventually, the refresh schedule will automatically turn off. My question is, do I need to have a refresh schedule on these reports? Will the semantic model automatically have the most current data before it emails out the subscription? How can I stop the auto-shut-off of the refresh schedule?

 

  • v-aatheeque's avatar
    v-aatheeque
    13 days ago

    Hi MichelleRoberts​ 

    Thank you for clarifying your requirement. Since management needs reports at a fixed time daily, you could use Azure Data Factory to orchestrate the semantic model refresh, with retries and status monitoring before triggering report delivery.

    Please note that Power BI automatically disables scheduled refresh after four consecutive failures and this threshold cannot be changed. An API-driven refresh workflow can provide more control over retries and monitoring, but it cannot guarantee uninterrupted refreshes.

    For details, see Microsoft's asynchronous refresh documentation.

    https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-scheduled-refresh

    I hope this helps!

6 Replies

  • jubinsoni's avatar
    jubinsoni
    Icon for Memorable Member rankMemorable Member

    Hi MichelleRoberts​,

    Short answers first, then a setup that avoids the problem:

    Do I need a refresh schedule? Yes, for Import models. A subscription only renders the report; it never refreshes data. Why does the schedule turn itself off? The service disables a scheduled refresh after several consecutive failures. Why "transient" errors every morning? Often the refresh runs while the ADF load is still writing (or right after), or many models refresh at the same minute.

    The more reliable pattern is to stop guessing the time and chain the steps: let the ADF pipeline refresh the model when the load finishes, and let the subscription fire after the refresh.

    1. Refresh from ADF at the end of the pipeline (Web activity, using a service principal or managed identity that has access to the workspace):

    POST https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/datasets/{datasetId}/refreshes Body: { "retryCount": 2 } -> then poll GET .../refreshes?$top=1 until status = Completed / Failed

    2. Remove (or keep as a late backup) the fixed schedule in the semantic model settings, so the model is not refreshed in the middle of the load.

    3. Subscription "after data refresh": when editing the subscription, pick the frequency option that sends after the semantic model refreshes (sent at most once a day), instead of a fixed clock time. Then the email always goes out with the data that was just loaded.

    If you keep a time-based schedule for now, at least spread the models a few minutes apart and leave a buffer after the ADF pipeline's typical end time, and check Refresh history for the exact error text to confirm whether it is timing or credentials.

    So my overall approach would be:

    ADF load finishes -> ADF Web activity triggers semantic model refresh (with retry) -> Subscription set to send after data refresh -> Fixed schedule removed or kept only as late backup

    AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.

  • MichelleRoberts​ 

    Since you are already using ADF, I would recommend you to trigger the  refresh of your semantic models using Power BI enhanced refresh APIs, instead of using schedule refresh, that way you will have more granular control and you will be able to handle the failures easily. 

    https://learn.microsoft.com/en-us/power-bi/connect-data/asynchronous-refresh

    After triggering the refresh you can get the refresh history to check whether the last refresh is a failure or a success. If it is a failure then you should be able to add retry attempts.  

    Please note, after 4 unsuccessful failure attempts, Power BI will disable the schedule refresh on its own. Its a default bahavior. 

    https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-scheduled-refresh#troubleshooting

    Regarding the subscriptions, it will always be as per the latest data available in your data model irrespective whether your refresh is a success or a failure. 

    Hope it answers your question

    read my blogs here: https://www.techietips.co.in/ 

  • v-aatheeque's avatar
    v-aatheeque
    Icon for Community Support rankCommunity Support

    Hi MichelleRoberts​ 

    Following up to confirm if the earlier responses addressed your query. If not, please share your questions and we’ll assist further.

    • MichelleRoberts's avatar
      MichelleRoberts
      Icon for Helper I rankHelper I

      Hello! I tested sending the subscriptions out when the dataset changes and I don't know that this will work because our CEO, COO, CIO, and upper managers expect the reports to be in their inbox at a set time every day. For the most part the data does refresh at around the same time but then there were random times where it did not. So, this would not work.

      The asynchronous refresh is an interesting concept that I'll need to look into further. It's not anything I've ever tried before. It would be nice if there was a way for me to tell it to refresh daily and never turn off, even if there are failures.

      • v-aatheeque's avatar
        v-aatheeque
        Icon for Community Support rankCommunity Support

        Hi MichelleRoberts​ 

        Thank you for clarifying your requirement. Since management needs reports at a fixed time daily, you could use Azure Data Factory to orchestrate the semantic model refresh, with retries and status monitoring before triggering report delivery.

        Please note that Power BI automatically disables scheduled refresh after four consecutive failures and this threshold cannot be changed. An API-driven refresh workflow can provide more control over retries and monitoring, but it cannot guarantee uninterrupted refreshes.

        For details, see Microsoft's asynchronous refresh documentation.

        https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-scheduled-refresh

        I hope this helps!

  • v-aatheeque's avatar
    v-aatheeque
    Icon for Community Support rankCommunity Support

    Hi MichelleRoberts​ 

    Have you had a chance to look through the responses shared earlier? If anything is still unclear, we’ll be happy to provide additional support.