4 ms·
I have worked on an app that gave the exact functionality to the users. The users could create queries using the query builder, and also schedule when the queri
by grdvnl 12y ago
I have worked on an app that gave the exact functionality to the users. The users could create queries using the query builder, and also schedule when the queries could be run.
The challenges of course was training the users to use the operators correctly and in a way that made logical sense. It did take a while for the end users to learn to build queries.
On the UI front, most of the fields and tables could be chosen by double-clicking or drag and drop. Certain operators could not be used with fields based on their types. We also provided a AST like tree to help users understand the operators.
On the optimization front, letting users build their own queries could also lead to very costly queries. We had to profile the user created queries regularly and fine tune our query generator to handle such uses. We ended up creating a lot of materialized views in Oracle to handle specific frequent uses of joins in the table.
The users who were using this tool were top level finance and accounting folks, who wanted to produce reports for the CFO has he dreamt up different data points to work on!