The one thing I love about Klipfolio is the number of functions that you can use to create new variables to use in widgets. I also love how it understands arrays in formulas so that you can modify existing or create new columns of data. The one downside to this is that every time you load a widget in a dashboard the formulas have to be calculated every time and for very complicated formulas can slow down the rendering time of the dashboard. This is especially true when using data directly from an API which does not give you the ability to manipulate the data in the API request.
An awesome idea would be to give people the ability to use the functions as part of building datasource process. That way the calculations will only need to be done when the datasource refresh and not when the end user wants to view the data. This I guess would be similar to building a table widget from an existing data source where you can add/remove columns and create calculated fields.
Cheers
Adam