1. Load Data Sources in Parallel
If there are multiple data source always use following settings to force parallel loading.
Data sources in one group load in series but different groups load in parallel when triggered by script. One of the groups can be "default group" itself. These settings not only help loading the data sources in parallel but also helps while refreshing the data by changing filters. The refresh also runs in parallel.
With all Data Sources in “Default Group" and “Load in Script” is set to “False”
With one data source in group “default group” and another one in G1. Both of them “Load in Script” set to “false” and use script in the “On Startup” event of dashboard. Also "Merge Prompts set to "false" at application level.
2. Configure Value Help in Hana for dimensions used to build drop down lists
If you are using a Drop-Down linked to a column from Hana Model or using script getmember or any process that triggers getmember method, then make sure that the value help column in Hana Model for that column is defined properly. If Value help is not defined or not defined correctly using a master data table (or an attribute view) then the whole Hana Model is materialized before the value help is shown. Using a master data table makes sure that the Characteristic Member access is much faster. If using a column from an attribute view, used in a Calculation view then value help needs to be defined on attribute view.
This setting also helps when filtering data using set filter or data binding. The "getmember" method runs fast if the "validate" is set to true. See tip 4.
Without Value Help Assignment
With Value help assignments
3. Use separate data source for each drop box or filter element.
If the dashboard has multiple Drop-Down boxes then it would be worthwhile using a separate data source for each and put those data sources in separate group. This will make sure that even the getmember runs in parallel for all these drop downs.
With same data source for 2 Drop-Down box
With different data source in different group for each Drop-Down box
4. Use Filter cautiously
When filtering a data source using a dimension either by using Set filter or by data binding the filter value is validated against the dimension values by default and "GET_MEMBER" method is called. You can change this behavior and set it to no validation. You do not need validation if the Drop-Down values are coming from database itself. This will have save significant time when Member access takes long time. You can set the "Validate" to false either in script command set filter or in binding properties of the element "Validate" is an optional parameter of set filter or data binding and is by default true. You should use this setting even if you have implemented tip number 2.
or Or Script DS_1.setFilter("GENDER", DROPDOWN_1.getSelectedValue(),false);
With Validate = Default "true"
With Validate = "false"
5. Use Background processing to keep ready for next screen
User does not see the spinning logo when background process is running. It is an excellent feature that can be used to do processes that are needed for screens other than current active screen and will be a seamless navigation to user when they navigate to a separate tab or screen. I recommend this is for experienced developers as it requires good scripting skill and knowledge of various events.
Here are some things that you can do in back ground processing. Note that background processing has to be specially called in script. Also, you can control what happens in background by using variables. Set variables in "On Select" or "Startup" event , use it in background and then clear it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
53 | |
5 | |
4 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |