My consulting firm does this by setting up a separate board where all items will populate when they are changed to done.
In each of the boards that you are working in, you will want to create an automation that creates an item in a new board (your weekly reporting board) when you change the status to completed. That way a duplicate item is created in your weekly report board.
In your weekly reporting board, you will want the item to have an automation that sets the archive date to be whatever range in which you are looking for. For example, we want to see all tasks accomplished in the last week on Friday, so we set all items to have an archive date of 6 days after creation. Then you will need another automation that moves items to a different group when the archive date arrives.
Alternatively, you can have a view configured that will show all items that have been created/completed for “this week” on the weekly report board. That will only show for the current week.
Please let me know if you would like me to elaborate any further, hopefully this helps!