Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
bgColor#DEEBFF

Average

The ‘Average’ formula is used to average all responses for any given question. Formula parameters include:

  1. Question Name

  2. Precision of Calculation (optional, but required if a third parameter is added)

  3. Type of Average (optional, but required if more parameters are added)

...

Note: If the 3rd parameter is part of the function call, then the corresponding parameters corresponding to that option become necessary.

Example:

...

Panel
bgColor#DEEBFF

IFF

The ‘IFF’ formula is used to evaluate a certain condition and then further evaluate a formula based on how the condition is evaluated. Parameters include:

  1. The condition to evaluate. This condition should evaluate to true or false

  2. The logic to evaluate if the condition is true

  3. The logic to evaluate if the condition is false

Examples

  • Iff((14 - 7) > 0, DateDiff('today', ‘yesterday', ‘h'), 50 / 2)

    • The above formula will evaluate if the condition “14 - 7 > 0” is true or false

    • If true, it will evaluate “DateDiff(’today’, ‘yesterday’, 'h')

    • If false, it will evaluate “50 / 2”

  • Iff(ResponseExists([RadioQ1]), [RadioQ1] < 1, false)

    • The above formula will evaluate the condition “ResponseExists([RadioQ1])”

    • If true, “[RadioQ1] < 1” will be evaluated

    • If false, “false” will be evaluated

  • Iff(Contains([QuestionOne], 2), 1, 0)

    • The above 'Iff' formula will evaluate if the condition “Contains([QuestionOne], 2)” is true or false

    • The 'Contains' formula will get the last response for the question “QuestionOne” and check if ‘2' was one of them. If ‘2’ was one of them the logic will return TRUE and if '2’ was not one of them the logic will return FALSE.

    • If true, it will evaluate “1”

    • If false, it will evaluate “0”

Panel
bgColor#DEEBFF

DateDiff

The ‘DateDiff’ formula is used to evaluate the difference between two Date (and Time, if available). Parameters include:

  1. The Date (and Time, if available) from which the other date will be subtracted from.

  2. The Date (and Time, if available) which will be subtracted from the first parameter.
    For the above two parameters, the date can be optionally specified as the following strings:
    'now' → Date and time at the moment logic is evaluated
    'today' → Date on which the formula is evaluated
    'yesterday' → Yesterday’s date (no time component)
    'tomorrow' → Tomorrow’s date (no time component)

  3. The format in which the result is required
    The format can be:
    'd' → total days
    'h' → total hours
    'm' → total minutes
    's' → total seconds

Examples:

  • DateDiff('yesterday', ‘now', 'm')
    This calculates the total minutes between yesterdays date and the date and time right now.
    If the yesterdays’ date is 07/10/2023 and we are evaluating this function at 07/11/2023 at 4:07pm then the result should be about: -2407.5039294216667

Panel
bgColor#DEEBFF

Contains

The ‘Contains’ formula is a TRUE/FALSE statement used to check if a particular option was selected in a checkbox question type. In CMS (platform v1), the way to do that is to write something like this: [checkboxq(value)] == 1. This has been changed up in V2. The new formula to check if a checkbox contains a specific value is:

Contains([questionName], 2)

...

  1. The variable/question name

  2. The value to check

Examples:

  • Contains([CheckboxQ1], 3)
    The formula will get the last response(s) for the question “CheckboxQ1” and check if ‘3' was one of them. If ‘3’ was one of them the logic will return TRUE and if '3’ was not one of them the logic will return FALSE.

Panel
bgColor#DEEBFF

ResponseExists/Exists

This formula is used to check if a particular question has been recorded in the DB with a response or not. This formula accepts one parameter which is the question name. The formula returns true if response was found and false if response was not found.

Example

  • ResponseExists([RadioQ])

  • Exists([RadioQ])

Panel
bgColor#DEEBFF

last or [*]

The constructs last() and [*] existed in CMS but they don’t exists in V2

Panel
bgColor#DEEBFF

Default values

Default values (applied when a response for a question can not be found) can be defined in the declaration of question name followed by a colon “:”.

Examples:

  • [colorblue:-1] → Value assumed for the variable “colorblue” is -1 if no response found in the db.

  • [study_startdate:2100-01-01] → Value assumed for the variable “study_startdate” is 2100-01-01 if not value found.

  • [RadioQ1:0] → If no response found, the value for “RadioQ1” is assumed to be 0.

...