POWER BI QUESTIONS

How to Schedule Power BI Semantic Model Refresh

The morning report arrives on time. Then someone spots yesterday’s figures, and the meeting starts with a question nobody wanted: can we trust this file?

PBRS can refresh the Power BI semantic model before exporting and delivering the report. Connect those steps, and your morning routine becomes easier to manage—from the arrival of the source data to the file your team opens.

  
The morning meeting

Start with the figures your team needs

At 8:30, the operations team gathers to review orders and decide where to put people for the day. Their PDF is already in the inbox. But the last order shown is from yesterday afternoon, even though the overnight load finished an hour ago.

The report owner now has two jobs: find out which step ran too early, and send a replacement before the team makes its decisions. This is the gap PBRS helps close. It can include the required dataset refreshes in the report schedule, then prepare and deliver the output as part of that job.

What are you actually refreshing?

An Import semantic model holds a copy of data from your sources. Refresh brings that copy up to date. Microsoft now calls it a semantic model; you will still see dataset in PBRS settings and some API names.

To schedule the update natively, open the semantic model in Power BI Service and choose Refresh → Schedule refresh. Configure its connections, credentials, time zone and refresh times. The important decision comes before choosing a time: when will the source contain the information your team needs?

Suppose the overnight load normally finishes at 6:00. A refresh that begins at 5:45 can succeed perfectly and still miss those new orders. Scheduling the email for 8:15 will not repair that missing step.

DirectQuery and live connections work differently because most source data is not imported. Confirm the model’s connection mode before applying an Import refresh routine. This article concerns models published to Power BI Service; refreshing a file in Desktop or redrawing a visual is a different operation.

Give freshness a visible meaning

Include a source-update time or another recognizable marker in the report. It helps the reader see which data is included, rather than assuming a new email means new figures.

  
Choose your approach

Give refresh a place in the reporting routine

If your team only needs the online model updated at regular times, Power BI’s native schedule may be all you need. PBRS becomes useful when that update is one step in a larger promise: “Have the right report ready for the morning meeting.”

Your requirementA suitable approach
Update the model at regular daily or weekly times.Use native scheduled refresh and monitor its history.
Refresh before preparing and sending a particular report.Include the datasets in that PBRS report schedule’s Refresh Datasets settings.
Run refresh as a separate business process.Use the Refresh Power BI Dataset task in a PBRS Automation Schedule.
Start reporting after a variable-length source load.Have the application signal readiness and request a configured PBRS job through its API.

For our operations team, the second approach keeps the refresh, PDF and destination together. The report owner has one reporting job to maintain instead of separate clocks that happen to work on a quiet morning.

Leave room for the real working day

A scheduled refresh time is a planned start, not a delivery deadline. Microsoft targets starting within 15 minutes of the selected slot, but a start can be five minutes early or delayed by up to an hour when resources are unavailable. The refresh itself then needs time to finish.

Power BI Pro supports up to eight scheduled refreshes per day; PPU and Premium or Fabric capacity support up to 48. PBRS does not remove Power BI’s refresh limits or fix an unavailable source. Choose a cadence that fits both the business need and the model’s licensing and capacity.

See Microsoft’s scheduled refresh guidance for the current settings and allowances. If the source load varies substantially, improving the handoff from that load is more useful than repeatedly moving the refresh time later.

Work back from the meeting

Allow time for the source load, model refresh, report generation and delivery. Check the time zone too—especially when the people loading the data and reading the report work in different regions.

  
Set it up

Connect the source, refresh and report delivery

Begin with one report and one test recipient. The aim is to make the morning routine dependable before extending it to every department.

Make sure Power BI can reach the data

Work with the semantic model owner to review Gateway and cloud connections and Data source credentials. An on-premises source may need an online gateway with the right connection mapping. A directly reachable cloud source may not need one. Resolve those connections before diagnosing the schedule.

Run Refresh now, inspect Refresh history, and open the report to check a recent order. A successful test establishes that the service can retrieve the data; checking the order establishes that it retrieved the data you intended.

If you use the native schedule

In the model’s Refresh → Schedule refresh settings, enable the schedule, select the frequency, time zone and time slots, then apply the changes. Put those slots after the source is expected to be ready. Keep failure notifications directed to someone who can investigate.

Power BI semantic-model refresh settings showing the time zone, frequency and time slots.

If PBRS will refresh before the report

In the applicable PBRS report schedule, open Refresh Datasets. Select the Power BI account, workspace and dataset, then add it to the refresh list. Add any other required datasets deliberately; refreshing unrelated models adds work without improving this report.

Choose the completion or failure notification options and configure Raise an error if dataset refresh fails. Set the documented wait in seconds before report execution where needed. Review the schedule’s error handling so a refresh problem produces the response you want.

PBRS Refresh Datasets panel in the report-schedule workflow.

The PBRS refresh setup guide covers both report schedules and the independent Automation Schedule task. Avoid having an unrelated native schedule and PBRS repeatedly request the same refresh unless that overlap is intentional.

Finish the job your colleague will receive

Choose the report output and destination, then run the complete workflow. PBRS can carry the reporting process beyond refresh into export and distribution. For the operations team, that means the PDF is prepared and sent without someone opening the report and exporting it by hand.

Open the delivered attachment and check the new order or source-update time. Then test a failed refresh and a late source load. A fixed wait alone is not evidence of freshness: the finished file and the workflow’s failure behaviour are what matter to the reader.

Agree what happens when the 8:30 deadline cannot be met. A clear delay notice to the report owner is easier to manage than a replacement report arriving after the team has already acted on old figures.

Know who can fix it

A gateway failure, expired source credentials and a late overnight load may need different people. Give the report owner a clear route to each, so the first notification leads to action.

  
For developers

Start the reporting job when the source is ready

Some mornings the load finishes at 6:00; at month-end it may finish much later. If your application knows when the data is ready, it can request the reporting job at that point instead of relying on another fixed time.

Configure and test the report schedule in PBRS first, including its refresh settings, output and destination. The application then asks PBRS to run that existing job. It does not need to rebuild the export and delivery routine each time the load completes.

Developer example: request and monitor the PBRS reporting job

This HTTP example uses the PBRS API. Replace schedule ID 101 with your tested single-report schedule and obtain a valid access token. Send the requests to your configured PBRS API address; use HTTPS for network connections. Executing the schedule runs its configured actions and delivery.

POST /api/Schedule/ExecuteScheduleAsync
Authorization: bearer <access-token>
Content-Type: application/json

{
  "ScheduleType": "report",
  "uniqueid": 101,
  "RunBy": "Overnight load completed"
}

GET /api/Schedule/GetExecutionStatus?ExecutionId=<returned-execution-id>
Authorization: bearer <access-token>

These are two separate requests. Submit the POST once, save its returned ExecutionId, and use that identifier in subsequent GET status checks. The uniqueid identifies the configured schedule; it is not the execution identifier.

Poll with a sensible interval and a time limit. When status is Completed, parse the separately encoded ResultJson and inspect its boolean Result. Completion alone does not establish success. Follow the PBRS execute-and-monitor guide for authentication, polling, result checks and recovery.

If submission times out, check the existing execution before submitting again. A timeout in your application does not cancel the PBRS job, and a repeated request could send a second report.

Record the source-load identifier alongside the PBRS execution identifier in your application. That gives the report owner a practical answer when someone asks which overnight load produced the morning file. Still verify the output and destination; an accepted API request is only the beginning of the job.

Keep the handoff simple

Let the application decide when the source is ready, and let the configured PBRS job handle reporting. Make each step’s outcome visible so a delay can be traced without guessing.

  
Your next step

Make the morning report worth opening

The next morning, the team opens the PDF and sees the orders it expected. Nobody has to ask for a fresh export before the meeting can begin. That is the useful outcome of a refresh schedule: figures people can use when they need them.

Start with one recurring report, connect refresh to its preparation and delivery, and test both an ordinary day and a late load. PBRS gives the report owner a place to manage that routine as the audience and reporting requirements grow.

Explore PBRS reporting after dataset refresh and the wider Power BI Report Automation workflow. Use the evaluation guide below to try the complete process with your own morning report.

Download the PBRS Internal Evaluation Guide

Contributors:

Christian Ofori-Boateng

Christian Ofori-Boateng

CEO, ChristianSteven Software