Requirements for formulas
Formulas should always include an explicit return statement. Simple formulas will still resolve, but more complex formulas will be unable to present an answer without one.
An example of this can be found in a conditional formula:
= if($'Number of Units' > 5) {
return 'true';
}
else {
return 'false';
}
Return types
We support a number of different return types:
Numbers (floats and integers are both supported)
= 1
Strings
= 'Hello world!'
Dates
= new Date (2014,1,28)
Boolean
= true
Array (only arrays of primitive types are allowed, and all elements of the array must be of the same primitive type)
= [1,1,2,3,5,8]
Object (the values of the object can only be primitive types, and all values of the object must be of the same primitive type)
= {'first': 10, 'second': 20}
Basic Math
= 1+1
= 5*25
= Math.pow(10, 10)
Unsupported functions
Streak's formula functionality is built on Rhino, which is lightly limited in its functionality. You'll find that most common ES5 functions will work, but there is a limit there, too: we do not support XHR or any HTTP requests from formula.
Because of the way formulas are computed, we also advise against using a function like Date.now(), which will not update daily.