How do I make 2 combo-boxes dependant on one another?

Ashlee
New Contributor III

We have summary dashboards with a lot of information. I'm trying to find a way for users to filter down on that information and have created 2 combo-boxes. However, none of the data pulls through. How do I make those combo- boxes (parameter values) dependent on each other? The idea is when a user selects the first "Resort" box only that resort's projects will be shown in the dashboard. Secondly, the second combo-box "Entity" would only return the entities from within that resort selected (step 1). Currently, no data pulls in when either parameter is selected. If I remove either of the combo-boxes, leaving only one, it works properly. 

4 REPLIES 4

MikeG
Contributor III

Hi @Ashlee , this is for sure do-able.  I have an example of this I just did for a client, however instead of using Combo Box selectors, I'm using the button component.  Which has an advantage because the button component property for Button Type is 'Select Member' which I believe is more user friendly than a combo box if there are many, many selection options.

Button 1 - needs a dashboard extender rule function Server Task to apply the parameter selection to the next component.  It would look like this:

MikeG_0-1707498887010.png

The key line of code there is the ModifiedCustomSubstVars action on the Selection Changed Task Result.

Button 2 - That parameter selection in the ModifiedCustomSubstVars I'm using as the Bound Parameter is button 2.

Lastly, the button actions need a User Interface Action of Refresh the embedded dashboard that contains the component selectors (Button or Combo Box).  Otherwise you won't see the update immediately in your UI.

Hope this helps,

 

RobbSalzmann
Valued Contributor

Hi @Ashlee 
Maybe post your configurations of the combo boxes? It may just be a setting...

This is a requirement that comes up on many projects.  It has the common name over the years as "Combo Edits".  Essentially we want to prevent a user from adding data to dimension intersections that are unrelated other then they exist.  
e.g. If a communication company has sales channels "Subscriptions" and "Equipment" , and Product hierarchies "Consumer Electronics" and "Streaming Services", you would not want a planner to have access to enter a subscription revenue data for a product like a Router that is simply sold once.

One way to accomplish this is with a lookup table that manages relevance. 

With a dashboard Extender rule, you can get the selected value of the first combo box and use that to query your table where you store the names of the hierarchy or members that are relevant  to the combobox choice.  The results of the query are assigned to the parameter of the second combobox.  This all gets passed back to the dashboard using the XFSelectionChangedTaskResult object.  Then the second combobox will dispaly only the values you looked up in the dashboard extender rule.

The first combo box will need a Server Task assigned that is the Dashboard Extender rule (DER) that does the lookup.
It will also need a bound parameter.
The DER will set the bound parameter on the second combo box.

Ashlee
New Contributor III

Hi Robb- We definitely don't want users to add data. They should simply be filtering the information on the dashboard. 

Roll up (Resort) Combo-box:

abolyard_0-1707506668800.png

Entity combo-box: 

abolyard_1-1707506694110.png

Dashboard View:

abolyard_2-1707508156379.png

 

 

Ashlee
New Contributor III

If data does pull in it's driven off of the entity parameter (combo-box): 

 

abolyard_4-1707509167321.png