Over time your Salesforce reports can get very messy. Too many get created for one off purposes and dumped in report folders. A recent customer we worked with made a number of system changes that included updating functionality with new objects. With over 2,000 reports created over 6 years there were inevitably some that referred to old objects that were still being used. This is suprisingly easy to do.
It's important to keep your reporting concise. Bad reports and old reports can confuse and run the risk of focussing your staff in the wrong direction by reporting on metrics that are no longer important to the organisation. Too many reports and old reports makes for a poor user experience so please watch out for this.
Here's a simple plan that may help.
Step 1. Scope the task
An easy way to start is the creation of another report! What a brilliant idea, another report to fix the problem of too many reports.
OK, this one is necessary. Goto Reports, click New and search on "Reports". Under the Administrative Reports folder you'll see "Reports". Use this report type.
There are 5 columns on this report that will give you some useful information for the clean up.
- Created by and created date. If the reports were created by someone that left your company a few years ago this could inform your decision about some reports.
- Last modified by and last modified date. If created by and date = last modified by and date that can help your decision because nothing's changed. If the reports have been modified and the changes seem current in terms of who and when the reports will certainly be worth keeping.
- Last run. I generally start with this column as an easy way to find the reports to remove. If a report hasn't been run for a significant amount of time I'm going to argue it's probably not required. Think about making this report a summary report based on the Last Run field summarised by year as useful first step. If a report hasn't been run for over a year it has to be an easy decision, over 2 years is easier.
In more complex orgs we've modified the underlying report types to show reports with custom objects and reports by report types. Certain fields aren't immediately available on some report types so you may need to make the fields visible. Reports based on old objects should be removed or hidden allowing certain users to view historic data in the correct context.
Step 2. Inform your users
Every time I've done this the trigger has been users fed up with wading through too many reports so push back has been minimal. That said, an email to your users about intentions to clean up the Salesforce reports with a timeframe is essential. I include the statistics such as total number of reports, number of reports Last Run by timeframe (e.g. over 2 years, over 1 year, over 6 months). I then have a cut-off date when the task to delete will happen.
Depending on personal sensitivities of reports you may want to append "FOR DELETION" of similar to the marked reports and place them in a folder for review. This gives your users time to check the reports to be deleted and make a decision to keep them or delete them.
A word of warning, there's no easy method to mass move reports so you'll need to use the Eclipse IDE, for more information please review this post.
Step 3. Delete
Salesforce makes mass deletion of reports pretty simple through Setup > Mass Delete Records > Mass Delete Reports. The filters will make it easy to locate the reports that were marked for deletion.
- Users get emotional about reports and they're an import aspect of user experience.
- It is not the end of the world if a report needs to be re-created. It may feel like it to the user but deleting reports doesn't delete data, it just deletes a view of the data.
- This could be a useful trigger to start controlling who can create reports within the user base so new reports aren't created identical to reports already created. You may even call this a "Reporting Strategy" where users make decisions about known views of data. It works for some organisations, although maybe not for everyone.