POWER BI QUESTIONS

How to Send Power BI Reports After Data Refresh

Your morning report has arrived, but yesterday’s final sales are missing. Now someone has to check the figures and send it again.

PBRS can bring the Power BI refresh, PDF preparation and email delivery into one job, helping you build a morning routine your team can rely on.

  
The morning report

Why yesterday’s final orders are missing

Imagine your sales manager opening the daily PDF before the morning meeting. A large order came in late yesterday, and she is looking forward to seeing it in the total. It is missing. She asks you whether the report is wrong, and the meeting starts with a question about the numbers instead of a discussion about the business.

You check the email schedule: it ran exactly when it should. The trouble happened earlier. The overnight process that copies orders into the reporting database finished late, after Power BI had already refreshed. The PDF faithfully showed the data Power BI had at the time.

Moving the email back by fifteen minutes might help today. It does not tell you what will happen the next time the orders arrive late. What you need is for the work to happen in order: the orders finish loading, Power BI picks them up, and only then is the report prepared for your manager.

That is where PBRS helps. You can include the required Power BI refresh in the same job that prepares and emails the sales PDF, and configure how the job responds if refresh fails. The first decision is when to start that job, so it has the completed sales day to work with.

A useful first check

Choose one order that arrived near the end of the day. Finding it in the received PDF gives you something concrete to check alongside the report date and sales total.

  
Your options

Does a daily subscription cover what you need?

You may already have enough in Power BI for a simple daily email. Its After data refresh subscription runs after the first scheduled refresh of the UTC day. If that refresh reliably follows the completed overnight load, and the subscription meets your delivery needs, it may be a good fit.

For our sales manager, the difficulty is the late load. A second refresh later that day does not give you another native after-refresh email. If the report needs its own refresh, PDF delivery and response to a failure, those are good reasons to manage the routine together in PBRS.

Start by talking to whoever maintains the overnight order transfer. If it finishes reliably before a known time, you can plan the reporting job around that time. If its finish time varies, the application can request the prepared PBRS job once the orders are ready. PBRS also supports event-based schedules that check conditions such as a database record.

This conversation is worth having before you change another timer. It tells you what “ready” means for the figures your manager is waiting for.

Check the connection type and subscription rules

The example above assumes Power BI imports a copy of the sales data. DirectQuery and live connections reach their sources differently, so an Import-model refresh is not the right freshness check for every report. If the report uses several models, identify all the updates it needs.

The native after-refresh frequency uses the UTC day, which may differ from your team’s local reporting day. Paginated subscriptions do not offer that frequency; their queries and parameters need to be considered when planning delivery.

For an Analysis Services live connection, Power BI checks hourly for changes and runs the subscription the first time it detects a model change. The Power BI subscription guide explains the conditions for each route.

If a native email is missing, check whether the day’s qualifying refresh or model change has already triggered it. Once you know the report was generated, investigate mailbox delivery separately.

If you use a database event

Have the record mean that the orders have finished loading. Decide how it will be marked as handled, too, so the next check does not request the same report again.

  
Set it up

Build the morning sales job in PBRS

Begin with the sales report and your own test mailbox. You want to see the same attachment your manager will receive before making it part of her morning routine.

Create the PBRS schedule, select the sales report, and choose PDF for the Email destination. Then open Refresh Datasets. Select the Power BI account, workspace and dataset used by that report, and add the dataset to the refresh queue. If the report depends on another model as well, include that dependency in your plan.

Next, decide what should happen on a morning when refresh fails. Enable the relevant notifications and review Raise an error if dataset refresh fails together with the job’s exception handling. The person responsible for the report should hear about the problem, and the delivery response should follow your team’s policy for incomplete figures.

The PBRS dataset refresh guide explains these settings and the post-refresh wait interval. Follow the guidance for your configuration; a chosen number of seconds, by itself, is not evidence that the required update has finished.

PBRS Refresh Datasets panel showing account, workspace, dataset and notification controls.

Try the morning your manager would actually experience

For the first test, let the order transfer finish and run the configured job. Open the attachment from the test email. Check the reporting date, the sales total and that late order from our example. You are checking the delivered document, because that is what your manager will use.

Then try a controlled failure of the required refresh. Confirm who receives the alert and what happens to the email step. Once both cases behave as intended, switch to the approved recipients and enable the planned schedule or trigger.

Agree what to tell the team

If the report will be late, who lets the sales manager know? Settle that while you are testing, so a quiet inbox does not leave everyone guessing on meeting day.

  
For developers

Have your application start the report when orders are ready

If your application already knows when the overnight order transfer finishes, it can ask PBRS to run the saved sales job at that point. Your reporting team keeps the report, refresh settings and email destination in PBRS; the application supplies the request to start.

First decide who handles the Power BI refresh. You can configure it as part of the PBRS job. Alternatively, your application may already perform and monitor it. In that case, wait for that specific refresh to complete before requesting the report, and confirm that it covers the intended sales day.

API example: run and monitor the saved PBRS schedule

The following pattern starts an existing single-report schedule. Replace the example job ID and connection values with your own approved configuration.

POST {pbrsBaseUrl}/api/Schedule/ExecuteScheduleAsync
Authorization: bearer {pbrsAccessToken}
Content-Type: application/json

{"ScheduleType":"report","uniqueid":101,"RunBy":"Sales data ready"}

GET {pbrsBaseUrl}/api/Schedule/GetExecutionStatus?ExecutionId={ExecutionId}
Authorization: bearer {pbrsAccessToken}

Keep the returned ExecutionId with the reporting date. Follow the PBRS execution guide to monitor the job within a deadline and inspect the parsed ResultJson.

If your application performs the Power BI refresh, retain its refresh request ID as well. Find that specific request in Microsoft refresh history; the newest entry could belong to a different job.

Prevent two application workers from requesting the same morning report at once. If a request or status check times out, investigate the existing run before starting another. A delayed response should not automatically produce two emails for the sales manager.

This example runs a job you have already configured in PBRS. It does not assume that every refresh setting is available in a public schedule-creation payload.

Leave a trail for a colleague

Keep the sales date and job reference together. If someone asks about Tuesday’s missing PDF, your colleague can find Tuesday’s run without guessing which request produced it.

  
Your next step

Let the meeting start with the sales figures

Return to that morning meeting. Your manager opens the PDF, finds the late order and gets on with discussing the sales results. You have a repeatable way to prepare the report, plus an agreed response for the mornings when the data is not ready.

Start with one report that someone currently checks or resends by hand. If a native daily subscription covers it, keep the routine simple. If you need to manage refresh, file preparation and delivery together, use that report to evaluate PBRS. The Power BI Report Automation page explains what else you can include as your reporting needs grow.

Download the PBRS Internal Evaluation Guide

Contributors:

Christian Ofori-Boateng

Christian Ofori-Boateng

CEO, ChristianSteven Software