Is it possible to prevent a View from executing until the user has chosen filters?
I'm assuming that for suggesting an answer to your "Does anyone know some other way to do this?", it's OK to also suggest another "module" (instead of just another "way") ...

The Forena module might possibly be a valid alternative for you to consider. For more info about this module, refer to either of these links:


its Community Documentation.
its Demo site, which includes Reporting Samples and Documentation about the module (also included in a site where the module gets installed).


In this specific case, you could consider transforming your "complicated View" into appropriate Forena data blocks (SQL queries) and custom reports (and/or charts ...). And for those reports to be generated (and the SQL queries to be executed), you could consider using the various Forena features related to "Report Parameters". A few more details about these Report Parameters:


refer to this (extremely basic) demo sample that uses such report parameter.
refer to this relevant part of the documentation (related to report parameters).