2 axaLearner :
Рекомендую воспользоваться советом
EVGL.
Кода потребуется добавить не так много.
Да и работать будет это точно будет хорошо. (Уже проверил

)
2 AndyD :
Ваш подход тоже не плох но имеет некоторые недостатки.
Во первых:
- Мне кажется не очень гуманно по отношению к пользователю, такое количество манипуляций (Для Вас я не сомневаюсь что это не сложно)
Во-вторых:
- Даже если Вы научите пользователя настраивать запросы (Что тоже не плохо),
то при очередном сбросе данных он эти запросы потеряет, и ему их придется настраивать заново (что опять же не очень гуманно).