User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have very amount of complex interdependent data, such as products, documents, orders. I need to make expression-builder for selecting and filtering(!) data.

I have some ways to do this

1) I can make plain editor based on SQL language. Simple text field. Nothing else. In order to do filtering I can introduce keyword such as "FILTER" But I suppose that this method is bad UI.

2) I can make 3 columns: data field, condition, value.

Using this user can write these conditions Product.Price > 20 Product.Name = "Salt"

I believe that this method is better than previous, but if I choose this way how can I make filtering?

Is there third method?

share|improve this question
up vote 4 down vote accepted

I made it like this:

enter image description here

So the users can read the filters like normal sentences, but they don't have to type so much, because everything is a dropdown.

enter image description here

share|improve this answer

There are two more way to filter the data.

  • Autofilters -- like in Excel or Google Spreadsheet. It requires minimum effort for most filtering tasks and familiar to an average user. Advantages are minimal input and obviousness.
    enter image description here
  • Templates -- most frequent filtering tasks could be called through command buttons as one-click task. It convient for some narrow filtering tasks (i.e. filter today's operations etc.).
share|improve this answer

Check the answer by Pasha S to the similar question: TreeTable as a flexible condition/filter editor

Mathematical notation is very readable but you will need to figure out good ways to edit conditions. I think on the same problem and tend to use the WorkFlowy’s approach with indenting by Tab and moving items with shortcuts. But it is also possible that I will end up with some kind of text markup.

share|improve this answer
I might be missing something but what does mathematical notation have to do with problem? – Mayo Aug 20 '15 at 18:51
It is better for understanding complex logical interrelations. – combdn Aug 21 '15 at 16:45

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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