Improving performance in SAP BI Dashboards with the parent/child technique
Working at one of our customers I was assigned the task of improving the performance of a Dashboard that was taking approximately 2 minutes to load; those of you who have experience working with end users know that this is unacceptable for a Dashboard, so in order to resolve that, there are several tips and tricks that can be used to improve the performance of a dashboard in SAP BI Dashboards (formerly known as Xcelsius) – below I will show a few.
In general, I recommend to follow these tips to improve a Dashboards performance:
Preferably use WebI documents and Universes to bring big amounts of aggregated data
Bring only to the Dashboards Visualization what is needed, keep it simple!
Minimize the use of Container Components
Limit the number of Components wherever is possible
Use a parent / child technique
In my case, I found especially useful the last option mentioned above: Parent/Child technique
It consists of splitting the dashboard in different parts by having a main dashboard as a Parent and calling the other dashboards (childs) with the “SWF Loader” component to reduce the initial load time.
You can find on the internet different ways to apply this, but some posts are not very clear. Therefore, I would like to share my experience and steps to do it:
1. Create the Child Dashboard.
2. Create the Parent Dashboard.
3. Use the SFW Loader component.
4. In the excel spread sheet copy the link of the child dashboard with the following format: http://SERVER/BOE/Xcelsius/opendoc/documentDownload?iDocID=<CUID>&sIDType=CUID&skind=Flash
5. Change SERVER for your server's name and port (name:port), as well as <CUID> for the child dashboard's CUID (you can find the CUID in the properties of the document in BI LaunchPad).
6. Map the component to the cell where the link is.
7. Save the dashboard in the platform.
8. Open the dashboard in the platform and you will have the final result.
With this approach, I could drop the initial load time by 80% (new Initial load time is 10 seconds) and the customer was fully satisfied.
The main contribution of this method is to increase speed of response to end users, and therefore, improve their experience with the dashboard. This will in the end help their decision making and overall business process.
If you have any question about this technique or any others related with SAP BI Dashboards, I would be more than pleased to read your feedback.