I have done this many, many times. Here are a few ways to approach this task.
Option 1: Using a form to filter the report data.
You can do this by putting a form on your page that presents your date range options. On submit, configure the form to reload the page with the user's chosen dates in the URL as URL Querystring Parameters.
For example, the form would create a url like this: http://MySite.com/MyRportPage.aspx/FromDate/1-1-2017/ToDate/12-31-2017
(you may need to format the date a bit differently than my example, I'm not sure about that format with the dashes)
Then in the report settings you enter corresponding parameters in the section called, "Allowed URL Parameters." In this example, you would add FromDate,ToDate in that section. Include the comma in between but be sure there are no spaces.
Lastly, you need to include your parameters in your query design in the report settings. There is a small adjustment that you need to know. When you type the name of your querystring parameters, put the following text in front of each one: "@url_" So, in our current example, our query might be similar to:
SELECT Orders.* FROM Orders WHERE Orders.OrderDate>=@url_FromDate AND Orders.OrderDate<=@url_ToDate
That's it. This should work. Users are happy.
Option 2: Filter with simple links
If your report filters are simple and rather fixed, you can skip the whole form, and simply create links in an html module on the same page that include the querystring parameters in the link itself. For example, Consider two links, one for year 2017 and one for year 2018. The links could be coded like:
[a href="http://MySite.com/MyRportPage.aspx/FromDate/1-1-2017/ToDate/12-31-2017" target="_self"]Year 2017[/a]
[a href="http://MySite.com/MyRportPage.aspx/FromDate/1-1-2018/ToDate/12-31-2018" target="_self"]Year 2018[/a]
You would then set up the report settings the same way as described above. But now you do not need to create a form.
As for the forms. You can use just about any form generator module, such as Live Forms, Dynamic Forms, Helferlein, Action Form, XMod Pro etc. There are many more.