Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Tdelaloy
Product and Topic Expert
Product and Topic Expert

Hi colleagues,

As explained in a previous blog, we have worked with students on the implementation of a solution for HR organization using BW and Design Studio 1.1 and 1.2.


You can find below the general workflow with a main page with different tiles and each tile allows a navigation on a detailed page with mainly one graph and one table.

In the current version of Design Studio (1.0 and 1.1), one component has to be implemented on top of one data source and one data source cannot be consumned by multiple components.

To deliver the first version of our solution, we created more than 20 Data sources and the initial refresh time was around 45 seconds.

  • 2 Data sources for the Kpis displayed in the tiles
  • 2 data sources for the graphics in the tiles

  • 18 data sources for the dtailed pages (one per component - graph or tables)


The purpose of this article is to explain how we reduce the number of the data sources from 20 to 8 by leveraging 2 data sources for mainly all the detailed pages.

  • 2 Data sources for the Kpis displayed in the tiles
  • 2 data sources for the graphics in the tiles
  • 4 data sources for the detailed pages (max number of component in one page - graph or tables)

You can see below that in the initial implementation we had one data source per element and in the optimized solution we leverage the same data source for multiple elements. How is it possible to acheave this?

Everytime the end-user select a tile to access the detailed view, Design studio calls a javascript function with a parameter to make adjustements on the data source.The first step is to remove the previous filters applied on and to remove the potential dimensions available. In the second step we design the data source as expected for the new view. It is quite complex to manage this with javascript and with the data model expectially the filters on the Kpis, but it is much more faster than loading a new data source.

With Design Studio 1.2, we have leveraging a new feature named background processing to allow the solution to free idle reources between the multiple actions (refresh, visibility management, …). With this feature we are able to reduce the end-user waiting perception and the display of components when data is available.  This give the priority for the user interaction.

The background processing is accessible via the properties section of the design studio project and is a javascript function. This javascript can be called multiple times and allows an idle time before beeing executed.

It has to be combined with global variables to be well used. Instead of refreshing multiple data sources in one call and have an update of the display at the end of the function, we can split the refresh in multiple loops and have an update of the display after each loop. For a user perception, the waiting time is reduced with intermediate updates.



I hope this short blog gives you some tips and tricks to be implemented in your dashboards. Don't hesitate to contact me if you have questions.

Regards,

Thomas

3 Comments