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.

BTA_01.png

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?

BTA_03.png

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.

BTA_04.png

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.

BTA_05.png

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.

BTA_06.png

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.

BTA_07.png

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

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Ingo Hilgefort

    Hello Thomas,

    the first part that you describing with having multiple components pointing to the same data source and change the “view” of the data source is also possible in the release 1.1 already.

    regards

    Ingo Hilgefort

    (0) 
  2. David Gyurasz

    Hello Thomas and DS users,

    regarding the usage of the term “loop” in your blog post to avoid some possible confusion, here some additional information:

    JavaScript supports two loop statements: for and while – both of them are not yet implemented in DS 1.2. The main or one of the reasons as far as I know is the risk of creating infinite loops (lacking a functioning exit routine/condition) which could lead to dysfunctional reports.

    Another way to reduce the number of data sources in Design Studio (since 1.2) for charts is to use data selection. For example you can build a BEx Query containing several key figures and formulas and display only a subset of them in one or several charts. The chart component has a new scripting method: setDataSelection(selection) – Sets the subset of the data of the source to be shown by the chart.

    For more information on background processing here are some helpful explanations too:

    DS1.2 – Load Data in sequense – see data dropping in

    Point: “3. Initialize data sources in “background processing” (available since 1.2)” in: Optimize the performance of your SAP BusinessObjects Design Studio solutions – tips and tricks

    Regards

    David Gyurasz

    (0) 
  3. Ranjith Vanu

    Hi Thomas,

    You have main page with different tiles and you mentioned each tile allows a navigation on a detailed page.

    How to implement this navigation to detail page? Do we need to write any code? or we have any option available to create such scenario? Could you please help me on this as we have similer requirement.

    I gone thorough all product tutorial but I haven’t found such scenarioo.

    Thank you,

    (0) 

Leave a Reply