KPI Forumula Editor

Customers needed a way to build custom KPIs without coding. I set out to create a formula language that could be used by any user that can work in Excel. The back end would have several implementations depending on the source of the data it was being executed against, those included Oracle SQL database, Apache Spark and Elastic Search. I decided to use a subset of SQL syntax that was carefully limited so that we could create a structured visual builder and support natrual language translation. The first version had formula to natrual language support so it gave you a human readable description for your formula. With the idea that we could later add support to go the other way from natrual language to structured formula.

As well as designing the language and user experience I went on to create the language grammar using Antlr and then creating Java and JavaScript implementations that could be used on server and client respectivily. Then write a full browser implementation of the formula builder.