A common question is asked, "what's the difference between the Data Driven Schedule and the Dynamic Schedule?" Though the end results between the two schedules can be similar: a unique report output generated for each recipient, the two scheduling types differ in their methods.
For the benefit of the room, let's briefly explain what these schedule types do. Data Driven and Dynamic schedules reel through a database using a query. Records that are returned in this query will be the recipients that will receive unique flavors of the same SSRS report. Taking values from each record, the SQL-RD will feed the required values into the parameter fields in the SSRS report at runtime. It will do this for each record, generating a unique output file for each record. This is perfect for scenarios where unique versions of the report need to be sent to specific users (eg. invoices, sales reports, inventory etc.)
When scheduling Data Driven SSRS reports, SQL-RD reels through a single table or view that contains all the information necessary to run the report. This table/view would contain the recipients' required parameter values, destination (SharePoint folder, email address, etc), and other content such as recipient name. Using this data, the Data driven schedule will run the report for each record discovered in the table/view. The Data Driven schedule can only run against a single table/view, meaning that all required data needs to be in one table or view. On the plus side, the Data Driven schedule has tons of flexibility when customizing report delivery. The recipients can receive the report in multiple forms and formats, the report can be formatted (PDF, Excel, etc) automatically based on user preference, and delivery messaging can be customized such as email templates. Not to mention other flexible goodies such as dynamic report encryption!
On the flip side, when automating Dynamic SSRS reports, the Dynamic schedule is quite different. Where the Data Driven Schedule can only look at one table/view, the Dynamic can combine multiple tables/views to create a 'temporary view' that it can run against. Just like the Data Driven schedule, it will feed the values into the report at runtime and then deliver the reports. There is some flexibility lost, however. You can deliver reports to only 1 destination per schedule. Powerful goodies like data driven encryption, or customized messaging are unavailable as well.
Another difference is the way these schedule types run. Dynamic Schedules runs and delivers each flavor of SSRS reports one at a time, making it slower than the Data Driven schedule. However, the Dynamic schedule can pick up where it left off if there is a failure in any of the reports. Data Driven is faster due to its ability to run all reports wholesale then deliver them. Data Driven packages also allow you to run multiple SSRS reports that don't even share common parameter values or recipients.
Whether you are Scheduling Data Driven SSRS reports or automating Dynamic SSRS reports, both accomplish the same end result. Choosing the right scheduling type largely depends on your distribution needs. Sometimes you may require the speed and flexibility of the Data Driven schedule, while other cases may require multiple databases linking that the Dynamic schedule offers. The staff here at ChristianSteven are often split on which schedule is best. In the end, it comes down to the report that needs to be distributed!