In SSRS 2008 R2, I was under the impression that a drill down to a sub-report would query the data on-demand. This isn't the case when my report gets rendered.
Specifically, I have a Tablix that initially loads rows grouped by Person. When someone clicks the drilldown icon on that Person, a subreport displays some more data pertinent to that Person. The problem here is that every subreport is being loaded initially when the main report is being rendered. This takes forever to load. But if I remove the subreport, just for testing purposes, the report loads almost instantly.
I've tried setting the visibility of the subreport to Hide initially, then Show when the user drills down, but it didn't change anything.
I read a similar question on stackoverflow, but the answer was to use Drill-Throughs instead. This unfortunately isn't an option in my case.
Any suggestions?
The only way to defer the data loading is to actually use a new report with and access it via Drill-Through method. This is the way to product work, and is the way inteded by Microsoft.
You can either optimize your stored procedure, limit the number of results per page or use drill-through.