Cascading filters are important for a guided dashboard as it provide better usability and user experience to the dashboard. We have a known limitation with universe source to achieve it in Design Studio.
vijaybhaskar.p and
sunny.chau have already published a useful workaround by keeping optional prompt in data source and setting application filter for each selection user makes. Find below links to mentioned blogs.
https://blogs.sap.com/2014/05/29/how-to-create-multiple-dropdown-boxes-cascading-filters-when-using-...
https://blogs.sap.com/2014/09/30/create-cascading-dropdowns-filters-using-universe-as-datasource/
Recently we had a similar requirement and I tried above mentioned option. But for some reason, We were not getting the expected performance for the user selections. So as an alternative, We made a selection screen using
crosstab component instead of usual selector components.
How to use crosstab instead of normal selection components ?
Below example uses dummy data to show this functionality. define smaller data sources to populate selection crosstabs. These data sources can be filtered by setFilter() function just like in a normal scenario with values selected in crosstab. Provide setFilter() function in the hierarchical order as required in the "on click" event of each crosstab. Based on requirement crosstab property can be set to "single" selection or "multi" selection.
Below example has 4 crosstabs and 4 smaller queries feeding each crosstabs.
User experience
crosstabs can be presented as a list box by modifying css properties of standard classes. So it is hidden from the user that we are using a crosstab as selector. Additionally, it provides number of rows while scrolling through the values which will be useful from a user perspective.
Let's see it in the sap website theme here.
I am not sure if Lumira Designer 2.0 has a fix to overcome the limitation of cascading filters with unx source. If someone has an update on it, please post it as a comment.
I welcome your feedback, suggestions and alternative ideas on this ?
Regards,
Nikhil Joy