Dec 29
SSRS Report Subscriptions for All Employees
Doug Brower
I have been in the IT industry for 20+ years and have been a consultant with C/D/H for over 16 years.
I am most excited about using technology that goes beyond best case installation to develop solutions and solve problems for clients. My most exciting projects are developing identity management and single sign on solutions and working with various Microsoft SharePoint technologies.
When I’m not working, I spend a lot of time with my wife and four kids. We enjoy sports and activities, camping and the outdoors. I spend whatever time is left running or reading a good book.
I like to say with my busy career and family, that I’m smack-dab in the middle of my life.
More about Doug
Articles by Doug Brower
I was asked recently by a client if all their employees could receive progress reports via e-mail. I had created an SSRS report that used an employee’s name as the parameter. This allowed a user to run a report for one employee at a time, auto-defaulting to the currently logged in user. The client was familiar with SSRS report subscriptions and wanted to know if he could add an e-mail subscription for each user in order to ‘push’ the information out to employees.
The short answer was yes – we can use Data-Driven Subscriptions. That solution is illustrated here. This situation called for a little bit more work, which is also explained.
SSRS Data Driven Subscriptions
From the report library, I chose Manage Subscriptions, seen below:
From the subscriptions page, I chose [Add Data-Driven Subscription]
The next step was to define the data. I added a shared data source, which was the same SharePoint list data source I used to define the drop-down parameter for employee selection.

Notice in the CAML query below that I am asking for only one field, which will be returned as the user’s full name. This list does not have the user’s e-mail address. I decided to use this list, as it was the best source of the subset of users needing a report, and decided not to add the user’s e-mail address to the list, due to the necessary upkeep that would have entailed.
The next screen in the subscription definition is the parameter override screen. I added the ‘person’ list column for use in the employee or user parameter in the report.

Because the e-mail address of the employee is not located in the <Employee List> list, I couldn’t use the e-mail delivery method, as below:
If it were available, I could have added that to the CAML query and used it as a replacement value in the user’s e-mail address.
Instead, I used the SharePoint Document Library delivery method, with the following settings:
Filename: Person
Title: Person
File Type: HTML
Write Mode: Overwrite
The document library I used has SharePoint versioning configured. This SSRS subscription periodically writes updated HTML report files to the document library.
In order to complete the solution, I created a Nintex workflow to e-mail the HTML document to each user. The workflow is configured to run, not on each HTML document, but separately on a timed schedule.
Following is the pseudo-code for the workflow:
With this solution, the client was able to send (push) well formatted reports to users to ensure they were reading them, rather than hoping they were visiting the report themselves (pulling).







