Depending upon how flexible the parameter is you can either set a default value for it or set it as allowing null or blank. In most cases setting it to allow NULL lines up with your SQL query that you need. The downside is the UI requires the user to select a checkbox to specify it as NULL, at least for a web-based UI. Alternatively you could allow it to be blank. In this case it would need to be a string but shouldn't show a checkbox.
On the report generation side you can look at the values of the parameters and conditionally show/hide reporting stuff based upon whether it was provided or not.