Jump to content
The ibi Community has moved to a new platform: Please Sign In and choose Forgot Password to continue

Chaining parameters in HTML for large data sets


Diana Watkins
Go to solution Solved by Clayton Peacock,

Recommended Posts

I have an HTML that shows several drop-downs related to an employee. The first drop-down allows the user to select an employee from the list and the ones below it populate based off of the selected employee in the first drop-down. I did this by chaining the sub-sequent drop-downs to the first. The employee select list is generated by an embedded request and each drop-down is an Explicit request off of that. 

The drop-downs populate like they should, but it takes quite a long time (upwards of a minute) to populate them all. It's like it's running the embedded request for each one as the more I chain to the first, the longer it takes. Is there a way to chain the drop-downs to the first without running the embedded request for each one? 

2024-04-03 09_55_49-ibi™ WebFOCUS® App Studio - empr_event_add_form2 (English)_.png

2024-04-03 09_58_48-ibi™ WebFOCUS® App Studio - empr_event_add_form2 (English)_.png

Link to comment
Share on other sites

Hi David! So, I made a change yesterday and changed the drop-downs to edit boxes - thinking that the drop-downs were being populated with the full lists as well and that might be part of the problem. It still took around a minute to populate all of those edit boxes once the employee name was selected. Since those will never be manually selected I just left them as edit boxes. 

2024-04-04 08_49_34-HR - Employee Relations and 4 more pages - Work - Microsoft​ Edge.png

Link to comment
Share on other sites

Chaining is a great way to populate controls but the more you have chained and/or the larger number of data each control has, the longer it takes to have them populated.

There is option using js but it needs you to code.

An option that you can try is to check the option "Cache Run Time Data" for each involved controls. At first load it will takes longer to  populate but then it's going to be faster while you stay in that report

Edited by Martin Yergeau
  • Like 1
Link to comment
Share on other sites

  • Solution
Posted (edited)

We encountered a similar scenario involving a large workforce of over 30k employees. To address this, we implemented the following changes:

Employee Name Search
We replaced the droplist/combobox with a text box - free text or consider typeahead custom solution 
The text box performs a fuzzy search on employee names, allowing for more flexible and accurate searches.

Conditional Loading of Supervisor and Class
In your example, the Supervisor and Class fields load dynamically only after the user selects a specific Department(onChange event). This approach optimizes performance by fetching relevant data only when necessary to load Supervisor/Class which will be a smaller subset of data.
 
Performance Optimization FOCCACHE File Creation:
Consider creating the necessary files in FOCCACHE before the HTML loads so they wait only once for the unique values, these files can be referenced by your filters, leading to potential speed improvements.

ReportCaster Job for XFOCUS Table:
Alternatively, can run a daily ReportCaster job to create an XFOCUS table for faster data retrieval with unique combinations for controls.

We use JQuery to create our magical filters. 

Edited by Clayton Peacock
  • Thanks 1
Link to comment
Share on other sites

Diana, I'm not sure that changing them to edit boxes stops it from doing all the work. 

I wonder if chaining Employee Name directly to Title, Department, Supervisor and Class rather than all in a line (assumption on my part) maybe it would make some difference. 

Link to comment
Share on other sites

I used the employee sample table, put something together:

The first dropdown has empid_dd.fex to populate it. Each of the others get populated by the other one emp_dd.fex. 

image.png.4dbc4b79465c3e66ee7b9c2f31d22138.png

Like this so that it doesn't try to pull the other ones until an EMP_ID is selected.

image.png.91e27a56dea3253de8823a57d6d9f335.png

And then chained like this:

image.png.3803d9c2ce8efd7055b21ec64b9a1bd2.png

When I run the page, it works but it is a bit slow. Seems like nearly a second to populate the boxes after selecting an EMP_ID. There are only about 19 records in employee.

 

Link to comment
Share on other sites

On 4/4/2024 at 10:26 AM, Clayton Peacock said:

ReportCaster Job for XFOCUS Table:
Alternatively, can run a daily ReportCaster job to create an XFOCUS table for faster data retrieval with unique combinations for controls.

This worked great! Way better response time - thank you!

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...