I have a tricky one. I need to let an IT administrator set the value for each field and assign that combination of values to an entity. (The following image shows a simplified example, where fields are named for meals, there are some choices for each meal, and each combination is named for a day of the week. As you can see, two entities (Tuesday & Thursday) can call for the same combination.)

first sample table

Different customers could have a different number of fields, field values, and entities.

[The actual use case is more complicated than menus. Our system applies various settings for each user depending on customer-defined metadata such as role, department, business unit, and task. The administrator names each combination of settings, and assigns each combination to a combination of metadata values. Where it gets interesting (and complicated) is that some settings may apply to a metadata value regardless of the other metadata values. For example, there may be a single set of settings for a particular task that apply to all business units, while for other tasks, the settings vary by business unit.]

To help administrators avoid overlooking any combinations, I want to show them which combinations remain unassigned. (The only reason a combination of metadata values would remain unassigned is if that combination could never occur in real life.) If administrators want to assign an entity to an unassigned combination (or change an existing assignment), I want to let them do it right there (and not go to another screen).

This task will be performed rarely: once to set up, and less than monthly to change.

My initial thought is to automatically populate a table with every possible combination of values. The administrator could name the combinations they care about, and could easily see the combinations that are not assigned a name. For example, this shows a starting point with no entities assigned:

all possible combinations

This approach could result in a lot more entries than I've shown here - it's possible to have 500 rows. So to ease the process of assignment, I would add a wizard so administrators could assign multiple combinations at once to an entity. For example, the user could assign "Bland day" to Breakfast=Cereal or Oatmeal, Lunch=bread, and Dinner=any. (That last point is key -- many entity assignments will have multiple values for each field.)

My main problem with this approach is that it's weird and therefore requires explanation. The alternative is to provide two UIs, one that lists each entity and shows the field values assigned (with the capability of changing those values), and one like the above that shows every combination of field values and the entity assigned to each combination. (The advantage of two UIs is that I wouldn't need a wizard. The disadvantage is that the first UI would itself be complicated, so if I go in that direction, I'll be coming back here.)

I'm hoping one of you can suggest a simpler approach that will satisfy the requirements:

  1. Allow the user to assign one or more entities to a combination of one or more values for one or more fields
  2. Allow the user to see all of the unassigned combinations of field values


  • How do you expect the user to make sense of all the unassigned combinations if there are ~500 of them, especially if they need to go through them and label the combinations they care about? Why not have a feature that detects repetition and, perhaps, suggests a random (previously unused) permutation? – Joshua Barron May 9 '13 at 19:01
  • This approach seems really data based oriented. Can you explain a little bit more the context so we understand why you need the administrator to perform such an exhausting task ? – Gildas Frémont May 9 '13 at 19:08
  • If the user has unassigned combinations in a table with over 500 rows, I think it would be easy to scan through them and see which ones are unassigned. An alternative is to add a field that indicates how many combinations are unassigned and add a button to go to the next unassigned combination. – user31380 May 9 '13 at 19:12
  • The potential problem isn't repetition -- it's that there could be unassigned combinations. I'm not sure how a solution could implement anything "random." – user31380 May 9 '13 at 19:13
  • Here's the context: our system applies various settings for each user. The combination of settings is the named entity I referred to. Depending on customer-defined metadata such as the user's role, department, business unit, or task, a different combination of settings may be applied. Where it gets interesting (and complicated) is that some settings may apply to a metadata value regardless of the other metadata values. For example, there may be a single set of settings for a particular task that apply to all business units, while for other tasks, the settings vary by business unit. – user31380 May 9 '13 at 19:17

It sounds like unassigned option permutations are a high priority (perhaps they represent undefined or unexpected behavior in your system?). If, as you say, you expect the number of unassigned permutations to be low, I see no problem with showing the user a table of all the permutations as in your example. My suggestion is to allow sorting by the "Assignment" column, or, even better, inform your user about the dangerous state and let them immediately filter the table of permutations:


download bmml source – Wireframes created with Balsamiq Mockups

  • I think a possible approach is to use a combination of sorting and filtering functions to create different 'views' of the dataset. And because of the complex relationships it is not practical to work with individual combinations. So I suggest allowing the user to create views that are based on a combination of filtering functions (e.g. status = unassigned, breakfast = Cereal, lunch = PBJ, Dinner = Any). Combine this with a column in the table that allows you to select all value and also to individually check/uncheck rows then it should make the UI more user friendly. – Michael Lai May 10 '13 at 5:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.