You’ve set up your report and it looks exactly as required, but due to your pre-defined parameters your report returns every record in the table when it first runs (just in case), and your users will probably want to filter the options.
This means there is an unnecessary wait for the report to first render, only for it to change.
In short you want to set “default values, but not display the report”
When I came across this problem before, the solution that seemed to be fit our requirements was to add a new “Run Report” parameter that had no default value. The report would display all the other default values, but not the report itself. The end user then had to set “Run Report” to “Yes” to actually render the report, as only at this point was the final parameter set.
While a bit clunky, and forced the users to perform a selection that could be deemed as superfluous this was the simplest way to implement this functionality to our users.