Here’s a good approach for mass-deleting reports and dashboards.
Announce to all your users that you will be removing obsolete reports and dashboards. Provide them a feedback communication method.
Create a quarantine folder in Reports and one for Dashboards:
* Name it something like “Reports to be deleted” or “Old Reports” or “Quarantined Reports”
* Disable access in that folder to all users – Sys Admins will still have access
Identify reports and dashboards you think should be deleted. Create a report on Reports and include Last Run date.
For dashboards create a Custom Report Type each for:
* Dashboards and Components
* Reports and Dashboard Componenents
Look at Create date and Last Modified Date but more importantly report Last Run date.
Also look at Created By and Last Modified By and check with those people about report/dashboard use and relevance.
Move suspected obsolete reports and dashboards to the quarantine folder.
Announce to user base names or quarantined reports and dashboards.
If requested by users, restore specified reports and dashboards from quarantine by doing “Save As” to move them back to their original folder.
Allow for a designated, announced period of time to pass (a month or so) before actually deleting identified reports an dashboards.
* The salesforce.com ID for a report or dashboard does NOT change when it is moved to different folder using Save As
* “Save As” saves a separate copy of the report and it creates new SF ID, “Save” option can be used to move a report to another folder
* A report’s “Last Run” is not getting updated when you view the dashboard, but it does when you refresh the dashboard or click on the component
* Deleting a Dashboard never deletes the underlying reports is uses.