30 Apr’19

D365 Business Central, Dynamics NAV

Role Center(Dashboard) taking forever to Load? Let’s find out why and how to optimize!

Introduction:

Have you ever faced the issue of the Dashboard taking forever to load? If yes, then did you inspect the reason why?
Anyways, the Dashboard loading times dependent upon the calculations used to generate the figures on each of the dashboard tile. Most of the times the calculations are so tedious that the results involve querying multiple tables with multiple filters.

Let’s see how we can optimize the Dashboard load times.

Pre-requisites:
Microsoft Dynamics NAV / Business Central.
Development Environment or NAV.
VS code with AL Language Extension for Business Central.
Solution:
1. Figuring out which all tiles required real-time calculations VS non- real-time. Thus, by separating real-time from non- real-time, we can differentiate the execution patterns.
For eg: No. of Open Invoices VS Average Cost of an Open Invoice.
2. Settings different execution styles for Real-Time and Non-Realtime:
i. Real-Time Calculations are trigger whenever we open the Dashboard i.e OnOpenPage Trigger on Role center page
ii. Whereas Non-Real time can be set up as Job which refreshes every 5-10 minutes.
3. Setting the Dashboard Source of Data as Tables.
It is easier for the Dashboard to Load the data from Tables rather than executing the query and storing the data as variables and populate data.
4. Setting manual Refresh Button to refresh the data on all the tiles.

Code & Output:

1. Creating the Role Center with Source Table as the Table:
2. Trigger on OnOpenPage to modify the values in the Source Table with new real-time values:

 

3. Create a Codeunit which run as a Job every 5 – 10 minutes and store the data into the Source Table:
Creating Codeunit to be executed as a Job.

Setting Codeunit on Job Queue Entries

 

4. Output:

 

Conclusion:
Thus using the optimization by using Table as the source of data for Role Center, we can reduce the load time exponentially to get a good performance. As per facts are concerned, in reality, the change in the load time was from 2 minutes 10 seconds to 15 seconds after the optimization.Happy Blogging! 🙂
Written by

Olister Rumao

Software Engineer

Leave a Reply

Your email address will not be published. Required fields are marked *

Want to streamline your business processes?

  • This field is for validation purposes and should be left unchanged.

Recent Articles

  • How to enable Document ID in SharePoint Online

    16 May’ 2019

    Introduction: As you know that SharePoint Online can be used as a document management platform and with the help of Docu...

    Read more
  • Count Number of files in SharePoint folder

    15 May’ 2019

    Introduction: This blog explains how to Count No of files in SharePoint folder using MS Flow. Steps to be followed:Sel...

    Read more
  • Professional Services Automation (PSA) for CPA firms

    14 May’ 2019

    With the evolution of Technology, every industry is getting process oriented and so are CPA firms getting more organized...

    Read more
  • What if the Resource Requirement Still appears post the task is deleted from Schedule (WBS) in PSA V3?

    13 May’ 2019

    Problem Definition: I have observed a fact in PSA that when the task in PSA Schedule (WBS) is deleted, the corresponding...

    Read more
  • Discount Settings for D365 Sales Line Items – Line Items or Per Unit?

    10 May’ 2019

    For Line Item entities Opportunity Products, Quotes Products, Order Products or Invoice Products, you can chose what typ...

    Read more
  • We respect your privacy.
  • This field is for validation purposes and should be left unchanged.