Actions

Translations

Translations:Expression Manager/69/en

From LimeSurvey Manual

Here are some of the other reasons you might want to use EM.

  1. Calculations - you can create any calculation you can think of:
    • You have access to all common mathematical operators and functions
    • You have access to 70+ mathematical, date, and string processing functions
    • It is fairly easy for developers to add new functions if users need them
  2. Storing Calculations to Database
    • You can now compute simple and complex calculations and/or scale scores AND have them stored in the database without needing JavaScript.
    • You use the Equation question type to accomplish this.
  3. Assessments
    • You can now create assessments or scale scores from any question type, not just the subset that used to be supported
    • You can use Tailoring to show running or total assessment scores anywhere needed - even on the same page
    • You have more control over the reports generated based upon those assessment scores
    • You can store assessment scores in the database without needing JavaScript
    • You can hide assessment scores without needing JavaScript or CSS
  4. Replacement Fields
    • Instead of using {INSERTANS:SGQA}, you can just use the Question Code - this makes it easier to read and validate.
    • This also avoids the common need to edit questions to change the SGQA code to make everything work.
  5. Tailoring - you can conditionally display text based upon other values
    • Use the appropriate title for a subject, like (e.g. "Hello [Mr./Mrs.] Smith")
    • Output gramatically correct sentences based when singular/plural matter:  (e.g. "You have 1 child" vs. "You have 2 children")
    • Appropriately conjugate verbs and decline nouns based upon subject's gender and plurality.
  6. New Variable Attributes - you can access the following to do your tailoring:
    • (no suffix) -  an alias for qcode.code
    • .code - the selected response code for the question if it is relevant (otherwise blank), or the text value if it is not a coded question
    • .NAOK - same as .code, but can be part of calculations or lists even if irrelevant
    • .value - the assessment value for the question if it is relevant (otherwise blank), or the text value if it is not a coded question -- available is assesments are enabled for the survey, otherwise always zero
    • .valueNAOK - same as .value, but can be part of calculations or lists even if irrelevant
    • .shown - the answer as displayed to the user (this is what {INSERTANS:xxx}  does)
    • .qid - the question ID
    • .gid - the group ID
    • .sgqa - the SGQA value for the question
    • .jsName - the correct javascript variable name for the question, regardless whether defined on this page or another
    • .qseq - the question sequence (starting from 0)
    • .gseq - the group sequence (starting from 0)
    • .mandatory - whether the question is mandatory (Y/N)
    • .question - the text of the question
    • .relevance - the relevance equation for the question
    • .grelevance - the relevance equation for the group
    • .relevanceStatus - whether or not the question is currently relevant (boolean (can be different in PHP and JS))
    • .type - the question type (the one character code)
  7. Dynamic On-Page Changes
    • All Relevance, Calculation, and Tailoring works dynamically on a page - so changes in values instantly update the page
    • So, you have questions dynamically appear/disappear based upon whether they are relevant
    • Questions are also dynamically tailored based upon responses on the page, so you can see running totals, tailored sentences and customized reports.
  8. New Data Entry Screen
    • In addition to using the current data-entry system, you can just use Survey-All-In-One.
    • This supports the on-page relevance and tailoring, so data entry clerks can quickly tab through and they will only have to enter the relevant responses
    • This can be critical if your data entry person needs to see the tailoring, which is also dynamic.
  9. Eliminates the need for most custom JavaScript
    • EM easily supports complicated computations, scoring, tailoring and conditional logic.
    • Some things will still need JavaScript (like custom layouts and conditionally hiding question sub-elements), but your JavaScript can use the EM functions so that you can access questions by their Qcode instead of SGQA, and access any of the question properties listed above.