I have a database of models and all their various measurements. Some key measurements are captured as a pseudo-range, meaning there are a pair of number fields to capture the low and high end of the range, as shown below:
- Height (1 number field)
- Bust, Bust+ (2 number fields)
- Waist, Waist+ (2 number fields)
- Hip, Hip+ (2 number fields)
(Note: not all models have a pair of measurements recorded)
Now let’s say I want to search for models that fit specific parameters...
If I’m just looking for a single measurement range (of which there is a min/max pair), then the filter looks something like this:

Simple enough.
However this becomes a royal PITA to build a custom filter to search for a combination of dozen other measurement parameters (of which the measurements being searched also change. Sometimes bust/waist/hip, sometimes height/gender/weight, sometimes age/gender)
The best I could do to minimize the work involved for my client to create a custom filter is to build a List interface page that gets pretty close, where they then just change the numbers (or delete some filter prompts when they don’t need to look at a specific field)
Is there a better way I could have structured this data? I feel like I’m missing a very basic solution for this problem.
FWIW, I’ve toyed with the idea of converting the pairs of min/max number fields into one multiple select field, but they’re often measuring to the quarter inch, which means a stupid amount of options to create for each physical attribute (at least 20). Also we would lose some number-related functions that we may need at some point (averages, median, etc.)