At times, you may want to configure an Event Form so that when a certain attribute value is selected for one of the attribute values in the form, it affects/limits the selection of attribute values available in another attribute.
For example, if the Downtime Type supplied by a user for a downtime event is "Scheduled Stop", then it doesn't make sense for the Reason to be "Drive Fault", because that wouldn't be a scheduled stop.
To achieve this type of dynamic/linked filtering in an event form, you need to have your attributes linked to Enumerations, and those enumerations need to be configured in an Enumeration Group.
Similar to when we add a single Enumeration Filter to an attribute in a form, to configure dynamic filtering in a form, you need to first add the attributes to your event form.
Then, select the first attribute that is dependent on another attribute.
While it is not strictly necessary, it makes sense and is best practice that your attributes should be arranged in the order in which you want them to affect/filter other attributes. For example, you want to make it understandable to the user that their selection of an attribute value affects/filters the list of values for other attributes to the right of it in the event form.
First though, ensure that you have created the Enumeration Group that you're going to use in your form configuration.
You may have a grouping of downtime reasons such as shown below:
Let's say that, in your form, the user is first required to select a "State" after which they select the "Discipline", and finally the "Reason". You want the available options for "Discipline" to be limited to only those values that correspond to the value selected for "State". And you further want the values available for "Reason" to be limited to those values that match the selected State & Discipline combination.
Firstly, you need to have added the 3 attributes (State, Discipline, and Reason) to your event form.
There's no additional filter configuration for the State attribute, because that's the first attribute that the user must select (unless, of course, you wanted to add an enumeration filter for State, which you can by all means do).
Note, though, what needs to be done next with the Discipline attribute. Right-click on the Discipline attribute and add an Enumeration Group filter.
The only Enumeration Groups that will be available for adding are those to which the Discipline attribute's enumeration is linked.
Once added, you have configurable options in the third pane:
The first option you have is the "Group Column". This is the column in the enumeration group that corresponds to the column that you want filter against.
The second option available is "Filter". Here, you have the following options by default: Includes and Excludes.
The rest of the options are dependent on what your Form configuration is, because you will get a list of the attributes configured in the form, except the attribute that you are configuring.
In Filter, you are configuring the form to know which column in the form must be compared to the Group Column.
In this example, we want that when the user selects a value in the State column in the form (hence the By State selection for "Filter"), that Flow then looks in the enumeration group, in the column named "State" (the Group Column configuration), and returns a list of available/filtered items for selection in the Discipline column (the attribute being configured)
Next, we need to configure a filter on the options available for the “Reason” attribute, based on what was selected for Discipline. To do this, select Reason, and right-click in the second panel and add an Enumeration Group (in our example, we've added the "Filler 2 Downtime Groups" enumeration group.
This time the Group Column is Discipline, and we are filtering "By Discipline".
Remember that the "By Discipline" tells Flow which column in the form to check for in terms of what value has been entered, and then to look up in the Group Column (in this case Discipline) where the selected value for Discipline in the form matches the available options for Discipline in the form, and to return only those as available options in the drop-down list for the attribute "Reason" the “Discipline” Group and based on what the “Discipline” selection was.
So as per the “Filler 2 Downtime Groups” that have been configured, only the “Jammed” reason will be available if the “Discipline” is “Production” and the “State” is “Unscheduled Stop Production”.