Close Menu
SalesforceCodex
    Facebook X (Twitter) Instagram
    Trending
    • Top 10 Salesforce Flow Features of Salesforce Summer ’25
    • Unlock the Power of Vibe Coding in Salesforce
    • How to Implement Dynamic Queueable Chaining in Salesforce Apex
    • How to Implement Basic Queueable Chaining in Salesforce Apex
    • How to Suppress PMD Warnings in Salesforce Apex
    • Top 10 PMD Issues Salesforce Developers Should Focus on in Apex
    • How to Use Graph API for Outlook-Salesforce Connection
    • Enhancing Performance with File Compression in Apex
    Facebook X (Twitter) Instagram
    SalesforceCodex
    Subscribe
    Friday, May 16
    • Home
    • Architecture
    • Salesforce
      • News
      • Apex
      • Integration
      • Books Testimonial
    • Questions
    • Certification
      • How to Prepare for Salesforce Integration Architect Exam
      • Certification Coupons
    • Integration Posts
    • Downloads
    • About Us
      • Privacy Policy
    SalesforceCodex
    Home»Salesforce»Apex»Optimize Salesforce Reports and Dashboard

    Optimize Salesforce Reports and Dashboard

    Dhanik Lal SahniBy Dhanik Lal SahniOctober 31, 2022Updated:June 11, 20231 Comment5 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Optimize Salesforce Reports and Dashboard
    Share
    Facebook Twitter LinkedIn Pinterest Email

    Reports and Dashboards are used to visualize the company’s key performance indicators in graphical and tabular formats. Salesforce Dashboards provide real-time statistics of the company. With large data over time reports and dashboards start performing slowly. Sometimes few reports are so slow that it takes more than 2 hrs to render them. We have to optimize these low-performing reports to make them faster. This post will provide different ways to optimize Salesforce Reports and Dashboard.

    1. Use Index and Custom Index
    2. Use Proper Date Filter
    3. Remove Unwanted Fields from Reports
    4. Divide Reports
    5. Use Skinny Table
    6. Use Scheduled Report
    7. Clear Recycle Bin
    8. Selective Query in Custom Report
    9. Make Source Report Faster
    10. Split Dashboard Component

    Let us see all the above improvement topics in detail.

    1. Use Index and Custom Index

    When we have huge data in an object and we are loading a report created on that object, it might take time to load. This can be due to the lack of an index column in the report filter. We can use any index columns (Id, audit fields, external id, record type id, lookup columns, etc) in filter criteria.

    If we can leverage any of the above-mentioned fields it will make our query faster. Even after using the standard index, if reports are not loading faster, then we should consider for custom index. We should approach Salesforce for a custom index with business justification.

    2. Use the Proper Filter

    Sometimes loading a wide range of data takes a huge time. In such a situation, we should consider retrieving less range of data. Let us take an example, if we are generating transactional data reports without any filter or data from many years, it will take time. It will be better to create a report which will generate reports of the last 1-2 years instead of 5-10 years.

    We should always use EQUALS instead of CONTAINS. EQUALS execute in fewer steps. CONTAINS executes a filter for each character which takes multiple trips for querying data.

    We should not use a filter with DOES NOT CONTAIN in the report. It evaluates the filter for each character that takes many steps to return data, which slows down the report. NOT EQUAL TO execute in fewer steps, resulting in a faster report.

    3. Remove Unwanted Fields from Reports

    We create custom report types and we add a lot of fields to that report type considering it can be used later. These unwanted columns will take extra time to load while loading the report.

    These extra columns will also create a loading issue while grouping information in the summary and metrics report. It will be better to include only those fields which are required in the report/custom report type.

    4. Divide Reports

    Instead of generating reports of a wide range of data, better will be reduced result data and generate reports with fewer data sets. Instead of showing account reports of all data, create multiple reports with different regions, different departments, or different countries. This way data will be less and it will load reports faster.

    5. Use Skinny Table

    If the above-mentioned tips are not working then we can use a skinny table to create the report. Skinny tables are tables that have combined fields from two related objects which are used in report creation. Using a skinny table we don’t need to join two or multiple objects. We simply use one single skinny table that has only required fields from objects. This way no join query is required and it will make the query faster to load on the report.

    Check out the post for more detail about the skinny tables.

    6. Use Scheduled Report

    If we want a report for a wide range of data then we can consider the scheduled report. We can schedule reports when our org is not busy with a lot of transactional operations or background jobs. This way users will get the report directly in their email inbox without the need to login into Salesforce Org.

    7. Clear Recycle Bin

    When we delete records, they will still be available in recycle bin for 15 days. When we load the report those deleted reports will also be queried which might impact performance. So better remove those deleted records from recycle bin as well.

    8. Selective Query in Custom Report

    We create custom reports using the Visual Force page and lightning components when the standard report is not sufficient for our use case. We should make our query selective for the custom reports so that it will load data faster. To learn about selective queries check Optimize SOQL Filter in Apex Code.

    9. Make Source Report Faster

    The best way to speed up a slow dashboard is to speed up its source reports. If reports will run faster dashboard will run fast. The above-mentioned technique will help in speeding up reports.

    10. Split Dashboard Component

    If we have a dashboard with multiple components that takes a long time to refresh then we should split the dashboard into two. This way dashboard component will load faster.

    References:

    1. Improve Dashboard Performance: Best Practices
    2. Improve Report Performance: Best Practices
    3. Optimizing Salesforce Apex Code

    best practice for salesforce report dashboard dynamic dashboards salesforce load salesforce report faster optimize dashboard optimize report and dashboard optimize salesforce dashboard optimize salesforce report report report and dashboard speed reports and dashboards in salesforce run salesforce report faster salesforce dashboard salesforce report salesforce reports and dashboard
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleGeneric Component to update Custom Metadata
    Next Article Posting Rich Text Chatter using Apex
    Dhanik Lal Sahni
    • Website
    • Facebook
    • X (Twitter)

    With over 18 years of experience in web-based application development, I specialize in Salesforce technology and its ecosystem. My journey has equipped me with expertise in a diverse range of technologies including .NET, .NET Core, MS Dynamics CRM, Azure, Oracle, and SQL Server. I am dedicated to staying at the forefront of technological advancements and continuously researching new developments in the Salesforce realm. My focus remains on leveraging technology to create innovative solutions that drive business success.

    Related Posts

    By Dhanik Lal Sahni6 Mins Read

    Top 10 Salesforce Flow Features of Salesforce Summer ’25

    May 11, 2025
    By Dhanik Lal Sahni6 Mins Read

    Unlock the Power of Vibe Coding in Salesforce

    April 30, 2025
    By Dhanik Lal Sahni5 Mins Read

    How to Implement Dynamic Queueable Chaining in Salesforce Apex

    April 21, 2025
    View 1 Comment

    1 Comment

    1. Pingback: What is Salesforce Administrator Job Profile? - SalesforceCodex

    Leave A Reply Cancel Reply

    Ranked #1 SALESFORCE DEVELOPER BLOG BY SALESFORCEBEN.COM
    Featured on Top Salesforce Developer Blog By ApexHours
    Recent Posts
    • Top 10 Salesforce Flow Features of Salesforce Summer ’25
    • Unlock the Power of Vibe Coding in Salesforce
    • How to Implement Dynamic Queueable Chaining in Salesforce Apex
    • How to Implement Basic Queueable Chaining in Salesforce Apex
    • How to Suppress PMD Warnings in Salesforce Apex
    Ranked in Top Salesforce Blog by feedspot.com
    RSS Recent Stories
    • How to Connect Excel to Salesforce to Manage Your Data and Metadata February 9, 2025
    • Difference Between With Security and Without Security in Apex January 2, 2025
    • Top Reasons to Love Salesforce Trailhead: A Comprehensive Guide December 5, 2024
    • How to Utilize Apex Properties in Salesforce November 3, 2024
    • How to Choose Between SOQL and SOSL Queries July 31, 2024
    Archives
    Categories
    Tags
    apex (110) apex code best practice (8) apex rest (11) apex trigger best practices (4) architecture (22) Asynchronous apex (9) AWS (5) batch apex (9) batch processing (4) code optimization (8) code review tools (3) custom metadata types (5) design principle (9) einstein (3) flow (15) future method (4) google (6) google api (4) integration (19) integration architecture (6) lighting (8) lightning (64) lightning-combobox (5) lightning-datatable (10) lightning component (29) Lightning web component (61) lwc (50) named credential (8) news (4) optimize apex (3) optimize apex code (4) Permission set (4) Queueable (9) rest api (23) S3 Server (4) salesforce (140) salesforce apex (46) salesforce api (4) salesforce api integration (5) Salesforce Interview Question (4) salesforce news (5) salesforce question (5) solid (6) tooling api (5) Winter 20 (8)

    Get our newsletter

    Want the latest from our blog straight to your inbox? Chucks us your detail and get mail when new post is published.
    * indicates required

    Ranked #1 SALESFORCE DEVELOPER BLOG BY SALESFORCEBEN.COM
    Featured on Top Salesforce Developer Blog By ApexHours
    Recent Posts
    • Top 10 Salesforce Flow Features of Salesforce Summer ’25
    • Unlock the Power of Vibe Coding in Salesforce
    • How to Implement Dynamic Queueable Chaining in Salesforce Apex
    • How to Implement Basic Queueable Chaining in Salesforce Apex
    • How to Suppress PMD Warnings in Salesforce Apex
    Ranked in Top Salesforce Blog by feedspot.com
    RSS Recent Stories
    • How to Connect Excel to Salesforce to Manage Your Data and Metadata February 9, 2025
    • Difference Between With Security and Without Security in Apex January 2, 2025
    • Top Reasons to Love Salesforce Trailhead: A Comprehensive Guide December 5, 2024
    • How to Utilize Apex Properties in Salesforce November 3, 2024
    • How to Choose Between SOQL and SOSL Queries July 31, 2024
    Archives
    Categories
    Tags
    apex (110) apex code best practice (8) apex rest (11) apex trigger best practices (4) architecture (22) Asynchronous apex (9) AWS (5) batch apex (9) batch processing (4) code optimization (8) code review tools (3) custom metadata types (5) design principle (9) einstein (3) flow (15) future method (4) google (6) google api (4) integration (19) integration architecture (6) lighting (8) lightning (64) lightning-combobox (5) lightning-datatable (10) lightning component (29) Lightning web component (61) lwc (50) named credential (8) news (4) optimize apex (3) optimize apex code (4) Permission set (4) Queueable (9) rest api (23) S3 Server (4) salesforce (140) salesforce apex (46) salesforce api (4) salesforce api integration (5) Salesforce Interview Question (4) salesforce news (5) salesforce question (5) solid (6) tooling api (5) Winter 20 (8)

    Get our newsletter

    Want the latest from our blog straight to your inbox? Chucks us your detail and get mail when new post is published.
    * indicates required

    Facebook X (Twitter) Instagram Pinterest YouTube Tumblr LinkedIn Reddit Telegram
    © 2025 SalesforceCodex.com. Designed by Vagmine Cloud Solution.

    Type above and press Enter to search. Press Esc to cancel.

    Ad Blocker Enabled!
    Ad Blocker Enabled!
    Our website is made possible by displaying online advertisements to our visitors. Please support us by disabling your Ad Blocker.