A simple solution might be to just duplicate the report tab and call it Monthly. Then just change your table layout to display monthly data instead of weekly. This way your end users will have the choice to view it as weekly data or monthly.
Otherwise you are probably looking at using a universe prompt to try and make the display data dynamic. This has been asked a few times in the past. Here are a few SCN posts I dug up that may help you out
Dynamic row of webi crosstab report
Dynamic grouping based on prompt
Dave’s Adventures in Business Intelligence » Dynamic Dates
Previous Month & Last 12 Month Based on UserResponse
These should give you the basics of the concept. Basically you use a prompt to ask the user if they want Weekly or Monthly view and then use the UserResponse function to change the display of the data in the report.
Hope this helps,
JB