We have lots of tables in different databases with the same structure for charting. We care about two fields:
- Date of event
- Type of event
we want to chart this as histograms. X axis being the date within specified range. and Y axis being the number of events of a particular type. Every type of event should have its own line in the chart.
1. The user selects database from all the available ones. (the script populates the options)
2. The user selects a table.
3. The script identifies datetime fields within table and gives them as choices.
4. The user selects the datetime field for X-axis
5. The user selects the event type field for Y-axis
6. The script reads all the DISTINCT values for that field within the table.
7. The user selects one or multiple event type values for Y-axis
8. The user selects a date range for analysis.
9. The script displays the chart.
10. VERY IMPORTANT: the user should be able to save the whole chart options giving a name to it, so next time the chart should be one click away.
The charting part is very well solved using a free widget of your choice. We don't expect you to develop it, but we do expect you to tell us which one is the one of your choice in a PM, to show us your understanding.
Check out webresourcesdepot dot com for a good selection of these.
This will be a programmer to programmer relationship.
- What you have to save is not the Chart itself, but the parameters to get it.
- When loading a preset chart, there should be the option to change something if necessary. What you load are the selections.
- Timeframe options should be: last $n days before today, or before any other date in the past.
That means selecting $n and a date.
As this tool will be used by SQL skilled people, It will be better to leave the possibility for editing the function that returns the EventType field.
Use example: If I want to analyze the events that start with "A", I will specifgy manually the substring function on the user end.
There should STILL be a field selector, but the final expression should be editable.
A dummy HTML interface page showing your understandig will be greatly considered on choosing you.