Can anyone please recommend an off the shelf (free or paid for) control (C# WinForms) that will give users drag and drop functionality to query data from any SQL database.
This purpose of this is for general segmentation. For example, a user might want to get a list of accounts that has been active in the last 90 days and has spent between $100 and $200 in total.
These users do not necessarily understand SQL, and more to the point, table joins, group by and aggregation functions.
I've been looking at using a Cube and the DevExpress pivotgrid: https://www.devexpress.com/Products/NET/Controls/WinForms/Pivot_Grid/
The biggest problem I am experiencing is that The control cant give me an MDX query so that I can re-run the query later. Which also means I cant later give the control an MDX query so that a user may update it.
Telerek's pivotgrid has the same problem.
Also looked at Korzh EasyQuery.Net: http://devtools.korzh.com/easyquery/
My issue here is that you have to define a data model in the form of a xml file beforehand, so if the underlying schema changes, we have to generate a new data model and deploy that. This also doesn't support aggregations very nicely, you have to specify what you would like to aggregate beforehand when generating the data model.
I need to be able to point this control to any database at run-time, and it should be able to work out the available columns etc. by itself.
Any other suggestions?