Forum Discussion

MichelleRoberts's avatar
MichelleRoberts
Frequent Visitor
18 hours ago

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?

 

1 Reply

  • jubinsoni's avatar
    jubinsoni
    Icon for Continued Contributor rankContinued Contributor

    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.