Just thought of something, that might help you, but because I don't know how you are consuming the data in report. Here's the idea:
1 data set that returns the data with a column (or columns) that show what data regions (tablixes or is it tablii?) will consume the data. Then you use the same data set for each data region, but have a filter on each data region using the column (or columns) you added to the data set. Then your query is run once, returning all the data you need and the filtering is done by the data regions within the report.
I actually don't think the current way the report is working is really a problem, but you could do it the way I describe as well, if you think a single call is better than 10 calls.
Jack Corbett
Consultant - Straight Path Solutions
Check out these links on how to get faster and more accurate answers:
Forum Etiquette: How to post data/code on a forum to get the best help
Need an Answer? Actually, No ... You Need a Question