Hi Erin,
What you can do is schedule the workflow that populates the reporting tables. The report itself is rendered each time that you view it. And yes, you can do this out of the box. You can send a notification when the workflow runs to let the Operator (user) know that the report (data) has been updated.
Regards,
Linda