x

Main chapters

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Quick start guide
  3. LimeSurvey CE - Installation
  4. How to design a good survey (Guide)
  5. Getting started
  6. LimeSurvey configuration
  7. Introduction - Surveys
  8. View survey settings
  9. View survey menu
  10. View survey structure
  11. Introduction - Questions
  12. Introduction - Question Groups
  13. Introduction - Surveys - Management
  14. Survey toolbar options
  15. Multilingual survey
  16. Quick start guide - ExpressionScript
  17. Advanced features
  18. General FAQ
  19. Troubleshooting
  20. Workarounds
  21. License
  22. Version change log
  23. Plugins - Advanced
 Actions

StatFunctions: Difference between revisions

From LimeSurvey Manual

DenisChenu (talk | contribs)
m Example: unicity on short text : {statCountIf(self.sgqa, self.NAOK, 0, 1)}
Mazi (talk | contribs)
m Added note about scanning files to use the plugin
 
(2 intermediate revisions by one other user not shown)
Line 12: Line 12:
[[File:StatFunctionsSample.png]]
[[File:StatFunctionsSample.png]]


This plugin uses the [[ExpressionManagerStart]] plugin and it creates two functions. These 2 functions don't use javascript, so the check is done only when the respondent moves ahead in the survey.
This plugin uses the [[ExpressionManagerStart]] plugin and it creates two functions. These 2 functions don't use javascript, so '''the check is done only when the respondent moves ahead in the survey'''.


Expression script don't have true and false as reserved word, then this strings are checked as variables name. You can use 1, 0 or the result of an expression for the second parameter. remind than "false" is evaluated a true in boolean.
Expression script don't have true and false as reserved word, then this strings are checked as variables name. You can use 1, 0 or the result of an expression for the second parameter. remind than "false" is evaluated a true in boolean.


{{Alert|Before using these functions : the plugin must be activated in [[Plugin_manager#General|Plugin Manager]].}}
{{Alert|Before using these functions the plugin must be activated in [[Plugin_manager#General|Plugin Manager]]. Scan the files there and then install and activate the plugin.}}


=Example=
=Example=
Line 28: Line 28:
* number of submitted responses with Y at a YesNo question title {statCountIf(YesNo.sgqa, "Y")}
* number of submitted responses with Y at a YesNo question title {statCountIf(YesNo.sgqa, "Y")}
* number of responses (submitted or not) with Answer A1  at a Q01 question title {statCountIf(Q01.sgqa, "A1", 0)}
* number of responses (submitted or not) with Answer A1  at a Q01 question title {statCountIf(Q01.sgqa, "A1", 0)}
* Validate unicity on a short text question (not submitted) {statCountIf(self.sgqa, self.NAOK, 0, 1)}
* Validate unicity on a short text question (not submitted) {statCountIf(self.sgqa, self.NAOK, 0, 1)} (only when move next page)


[[Category:Plugins]][[Category:Core Plugins]]
[[Category:Plugins]][[Category:Core Plugins]]

Latest revision as of 11:59, 26 February 2024

 Hint: This features is available starting in version 4.1.0


Usage

Functions for the expression manager to count some statistics data :

  • statCount(QuestionCode.sgqa[, submitted = 1][, self = true]) : count the number of already submitted answered questions by QuestionCode. You can count the number of submitted (= completed) surveys with statCount('sid') for example.
  • statCountIf(QuestionCode.sgqa, value[, submitted = 1][, self = true]) : count the number of responses where answer to question QuestionCode equals value. The comparison uses Yii compare, you can use <, >, >=, <=, <> operator at start of your value.

You can find an example of the usage of these 2 functions in: survey_archive_statCountFunctionsTest inside the test directory.

This plugin uses the ExpressionManagerStart plugin and it creates two functions. These 2 functions don't use javascript, so the check is done only when the respondent moves ahead in the survey.

Expression script don't have true and false as reserved word, then this strings are checked as variables name. You can use 1, 0 or the result of an expression for the second parameter. remind than "false" is evaluated a true in boolean.

  Before using these functions the plugin must be activated in Plugin Manager. Scan the files there and then install and activate the plugin.


Example

  • count number of submitted response : {statCount("id")}
  • count number of responses (submitted or not) : {statCount("id", 0)}
  • number of responses where respondent stopped at page 1 : {statCountIf("lastpage", 1, 0)}
  • number of submitted responses with startlanguage "en" : {statCountIf("startlanguage", "en", 1)}
  • number not completed responses to this survey : {sum(statCount("id", 0),statCount("id")*-1)}
  • number of responses submitted in 2022 : {statCountIf("submitted", ">=2022-01-01")}
  • number of submitted responses with Y at a YesNo question title {statCountIf(YesNo.sgqa, "Y")}
  • number of responses (submitted or not) with Answer A1 at a Q01 question title {statCountIf(Q01.sgqa, "A1", 0)}
  • Validate unicity on a short text question (not submitted) {statCountIf(self.sgqa, self.NAOK, 0, 1)} (only when move next page)