Data Driven Subscriptions in Power BI Report Server and SSRS
Every department needs its own monthly report. Preparing each PDF is manageable; keeping the figures and recipients matched becomes harder as the list grows.
PBRS can use your maintained delivery list to prepare and send each department’s copy, so you do not have to repeat the same exports and emails every month.
- The monthly department reports A new manager should not mean another manual report
- Your options Start with the report you already have
- Set it up Give North and South their first correct copies
- For developers Give the reporting job a dependable delivery list
- Your next step Make next month a routine delivery
A new manager should not mean another manual report
Imagine you look after the monthly department reports. The North manager wants her figures as a PDF, and the South manager wants his. You open the report, select North, export it and write the email. Then you do the same for South.
That works while the list is small. Then another department joins, and North gets a new manager just before month-end. You now have to remember both which figures belong in each file and who should receive it. The report itself has not changed, but the delivery work keeps growing.
A data-driven job gives that changing information a home. You maintain a list that pairs each approved recipient with a department and reporting month. When the job runs, it reads those records and uses them to prepare the corresponding copies.
In PBRS, that list can supply the recipient and the values that select each department’s report. You keep the reporting job, output format and destinations configured in one place. When North’s manager changes, you update the approved recipient record instead of rebuilding her monthly delivery.
There is also a native data-driven subscription for eligible paginated reports in SSRS and Power BI Report Server. The first choice is therefore about the kind of report you have and the delivery you need.
Keep the recipient and department together
For our example, one delivery record means one recipient, one department and one month. Review those values together whenever someone takes over a department.
Start with the report you already have
If the monthly report is a paginated RDL report on SSRS or Power BI Report Server, a native data-driven subscription may cover the task. On a supported edition, it can read recipients and report parameter values from your delivery data and send each manager the appropriate output.
A PBIX report hosted on Power BI Report Server is different: it does not have a native email subscription. PBRS provides a data-driven route for those on-premises Power BI reports as well as a separate route for SSRS and paginated reports.
For our North and South PDFs, either eligible RDL route could be suitable. PBRS becomes useful when you also want to manage additional destinations in the job—for example, emailing each manager and keeping a copy in an authorised folder. A native subscription uses one delivery extension, such as email or file share, rather than combining both in one subscription.
Check the report type before setting up the list. An RDL parameter and a PBIX report filter can both select a department, but they are configured in different places. The steps below keep those two routes separate.
Native RDL requirements to check before setup
Native RDL setup checklist
- Confirm data-driven subscriptions are supported by the deployed version and production edition; Developer availability does not grant production rights.
- Use stored or no source credentials. Impersonated or delegated credentials and reports containing
User!UserIDare unsupported for this subscription type. - Give the author Manage reports, Manage all subscriptions and access to the subscriber source.
- Confirm SQL Server Agent and the delivery extension are configured. Under default security, the option is unavailable in My Reports.
For the detailed requirements and controls, see Microsoft’s Reporting Services edition comparison and PBRS RDL guide.
Check where the report lives
This article concerns reports hosted on your own Report Server or SSRS. Power BI Service dynamic subscriptions have their own rules; a cloud subscription guide will not describe the same setup.
Give North and South their first correct copies
Begin with the two managers from our example, using controlled test mailboxes in place of their real addresses. For this trial, North is department 10 and South is department 20. Both need the same completed reporting month, but each PDF must contain only the intended department’s figures.
Prepare a small delivery list with a unique record identifier, email address, department and month. Check the records before connecting them to a schedule. The developer section below shows an illustrative query for selecting those approved rows.
Set up the paginated report in PBRS
Choose Data-Driven > For SSRS or Paginated Reports. Build and parse the data driver—the query that supplies your delivery records—and select its unique Key Column. Choose the monthly report, then insert the department and month values into its corresponding parameters.
In the Email destination, use the address from the delivery record and choose PDF for the output. North’s record should select department 10 and North’s test mailbox together. South’s record should select department 20 and South’s test mailbox. Keeping that pairing visible makes the first run easier to check.
If the report is an on-premises PBIX file
Choose Data-Driven > For Power BI on Premise > Reports & Dashboards instead. Map the department value to the actual table and column in Filters, then configure the recipient and output. Here you are selecting report data with filters rather than filling RDL parameters.
Page selection for the on-premises PBIX route
In this workflow, Pages To Render accepts actual page titles separated by |. Leaving it blank selects the current page. Choose the pages the managers need and check them in the exported PDF.
Open both delivered PDFs
Run the test and read each received attachment. North’s PDF should show department 10 and the intended month; South’s should show department 20 for that same month. Compare a familiar total with the source report and look for a record that belongs only to the other department.
Once both copies are right, set the approved recipients and recurring timing. Decide how the reporting month will advance before leaving the job to run: a monthly schedule will not change a fixed month in your delivery data for you.
If you are using the native RDL subscription
Open Manage > Subscriptions > + New Subscription, choose Data-driven and the configured email extension. In Edit Dataset, configure and validate the subscriber query so its columns are available for mapping.
Map To to the email column and the report parameters to the department and month columns. Choose PDF and Include Report for this test, save the subscription and use Run now. Query validation checks the dataset; opening both delivered attachments checks the result the managers will actually use.
Keep the first approved copies
Save North’s and South’s test PDFs with the delivery settings. They give you a useful comparison when a report field, recipient or department changes later.
Give the reporting job a dependable delivery list
Your role may be to provide the delivery data rather than build another export script. For the North and South reports, the reporting team needs a reliable answer to three questions: who receives the file, which department it contains and which month it covers.
Keep that list separate from the figures inside the report. The delivery query supplies the instructions; the report’s data source supplies the results. Both connections need to work when nobody is signed in to run the job by hand.
SQL example: select two approved department deliveries
This illustrative query assumes a table maintained by your application or reporting process. The RDL example accepts an Integer DepartmentId and a Text ReportMonth. Adapt the column names and types to your actual report; the query below only selects rows and does not send email.
SELECT DeliveryId, EmailAddress, DepartmentId, ReportMonth
FROM dbo.DepartmentDeliveries
WHERE Approved = 1
AND ReportMonth = '2026-09';
-- Illustrative results:
-- 101 | north@example.invalid | 10 | 2026-09
-- 102 | south@example.invalid | 20 | 2026-09
The addresses use the reserved .invalid domain. Replace them with controlled test mailboxes before testing delivery. The fixed September value is for this example; a recurring process must supply the intended reporting month.
Inspect every returned row. Decide how your process handles a missing recipient, a null department, a duplicate key or a value the report cannot accept. Selecting an approved record does not itself establish that its recipient is entitled to that department’s figures; maintain that approval in the source process.
Keep the query’s column names and types aligned with the saved mappings. Renaming DepartmentId can break the job even when nobody has changed the schedule. Retain the delivery identifier, department, month and destination result so a colleague can investigate one missing PDF without repeating the whole batch.
Connection checks for unattended PBRS execution
Use the documented System DSN arrangement for the database driver and confirm that the PBRS background service account can read the required source. A connection that works under your interactive login may not work under that account.
In the documented RDL workflow, parameters must be used in the report, visible and prompted at run time for PBRS to detect them. If a parameter is missing, check the report definition before changing your delivery query.
Plan for a colleague to investigate
If South’s PDF is missing, the delivery record should help someone find South’s run and its result. That is more useful than asking both managers whether another full batch arrived.
Make next month a routine delivery
Next month, North’s new manager receives her department’s PDF, and South’s manager receives his. You have updated the approved delivery records and reporting month, rather than reopening the report for every person on the list.
Start with two copies you can check carefully. If an eligible native RDL subscription covers the delivery, it may be enough. If you need the on-premises PBIX route or want more of the file delivery managed in one job, use those same two departments to evaluate PBRS.
Once the received files are right, expand the approved list. Explore Power BI report automation with PBRS for the wider reporting routine.
Contributors:
Christian Ofori-Boateng
CEO, ChristianSteven Software
