I have a single shared dataset which calls a stored procedure. I have multiple tables which use the same dataset and has filters on the table itself to only include certain records.
Does the dataset get called for each table or does it only get called once?
The easiest thing to do is run the report and see what happens in the database. In this example I have used SQL Server Profiler to view the database activity. I have tested using a simple report run through Visual Studio.
Dataset:

Report with two tables, different filters, same Dataset:



Run the report:

Check what has been recorded in SQL Server Profiler:

You can see that the Dataset query has been run only once. So in this case we can say that referencing a Dataset multiple times will not cause it to be loaded multiple times.
With SSRS it's always risky to say this will always be the case in all scenarios, but based on this example it seems like a good bet.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With