I have this use case where a dashboard shows a linear calendar for all employees and their roster. Roster is a full day.
How the database model is setup is, I have a “Roster-Calendar_tb”, which has the dates to show in the linear calendar repeating group. I have a “Human-Resources_tb” to show all the employees. I have another table called “Employee-Roster_tb”. Which has a many to one connection to the “Human-Resources_tb”.
The below image shows the roster that has been added to e.g. Dan.
Going back to the linear calendar - the current logic is, " if the current cell repeating group is in between Dan’s last roster, then turn the cell background into green.
see below for the when conditional.
Which is fine, however, what I want to achieve is - it should not only take get the last roster. It should take all Dan’s roster and compare it to current cell.
See below for what I am trying to do.
Looks like a lot of searches for each cell. You are also searching just for the last item in the list of dates related to an employee not all items which is what I think you want to achieve. Depending on how you’ve ordered your search results, this might explain whats happening here.
Also be careful all your searches are ordered in the same way or results may vary
I want to emphasize on the multiple searches you are calling for each cell. It’s going to cost you a lot of WU.
Store your search data (Employee Roster) into a state then let your conditionals refer to that state. This will of course make the list static.
If you need your list of Employee Roster to be stay real-time then you can store them in a repeating group which you can keep “hidden” (not actually hidden) by resizing to 1px by 1px. Then your conditionals refer to that RG. Alternatively, you can use a plugin like Floppy or Listopia to store the search.
Be very careful when using searches in conditionals.