One of the typical tasks users perform in spreadsheets (Microsoft Excel, Google Sheets, LibreOffice Calc, etc.) is that they enter some sample data and see what happens when they do some changes to them. The changes can be adding or multiplication of values in a column, counting various averages and sums based on conditions, further filtering the data, adding input parameters and tweaking the parameters and in the end creating a chart displaying the influence of the parameters on the data entered. However, it might be hard to see what logical steps lead to the result.
Design and implement an efficient editor where an user could perform various types of steps in a sequence. There are horizontal blocks representing a single step. There might be a split where several steps are in a single row. Then there might be a join combining the previous results. It must be possible to rearrange the steps. Each step can have a textual description. The types of the steps should be:
- specify an input parameter including allowed ranges and or values – this can be present just once at the top
- query for data
- perform a mathematical operation on the data
- run another query based on the result
- combine previous data with another query results
- filter the data
- specify combinations of input parameters and display a chart based on the individual combinations
Demonstrate the proposed design by implementing a sample application leveraging open-source platform Lumeer.
It should be possible to integrate the resulting application into Lumeer later. This requires the backend to be based on Lumeer backed or to use some REST mock service. The frontend should be developed in Angular 2.0/4.