Looking at Daniel's answer and your comment, I wonder whether letting the user pick concrete days and calculating the "sliding range" automatically is a good idea.
The fact that Airbnb uses a calendar is based on their use case (travel booking), while your use case (reporting) is different. There's no "repeat booking" or "sliding range" within Airbnb.
One concern is that this added flexibility makes it harder to use, and I - like Daniel - would question that this added complexity is needed often. For example, quarterly or yearly reports will be hard to specify with a calendar.
Another concern is that months don't have the same number of days, and depending on which month is now, I have more or fewer days in my report. If your report is about working days (like customers entering a store), similar issues exist with bank holidays. It sounds like a contradiction if you want exact control over the day when reporting starts ("the 23rd"), but then cannot ensure it's covering an exact number of days (picking the 23rd of the previous month results in 6 days when done on March 1st, but 9 days when done on April 1st).
So I'd offer standard options ("Yesterday", "Last Week", "Last 2 Weeks", "Last Month"). If the "odd" periods are really required (according to user research), add an "Other" option which shows a more detailed selection in a pop-up or elsewhere. In this way, the standard selections are still easily accessible.
Even on the detailed view, I would not show a calendar to pick from, for the second reason above. Let the user specify "X days", "X working days", even "from the X of the last month", if they really need it.