Actions

ExpressionScript Engine - Quick start guide/es: Difference between revisions

From LimeSurvey Manual

(Created page with "Motor ExpressionScript: guía de inicio rápido")
 
No edit summary
 
(39 intermediate revisions by the same user not shown)
Line 3: Line 3:




=Quick start guide=
=Guía de inicio rápido=




Within [https://www.limesurvey.org LimeSurvey], you can further customize your surveys via the usage of the ExpressionScript (short: ES).
Dentro de [https://www.limesurvey.org LimeSurvey], puede personalizar aún más sus encuestas mediante el uso de ExpressionScript (abreviado: ES).
Sidenote: "ExpressionScript was named Expression Manager (EM) in earlier version. If you read Expression Manager somewhere, it is just the old name of ES."
Nota al margen: "ExpressionScript se llamaba Expression Manager (EM) en una versión anterior. Si lees Expression Manager en alguna parte, es solo el antiguo nombre de ES."


ES can be used to specify the following:
ES se puede utilizar para especificar lo siguiente:


# '''Navigation/Branching''' - allows a respondent's answers to change the order in which the questions are displayed;
# '''Navegación/Bramificación''': permite que las respuestas de un encuestado cambien el orden en que se muestran las preguntas;
# '''Tailoring/Piping''' - helps you phrase the question (such as referring to prior answers, or conjugating sentences based upon the age or gender of your subjects) or how to generate custom reports (like assessment scores or tailored advice);
# '''Sastrería/Piping''': le ayuda a formular la pregunta (como referirse a respuestas anteriores o conjugación de oraciones según la edad o el sexo de los sujetos) o cómo generar informes personalizados (como puntuaciones de evaluaciones o consejos personalizados);
# '''Validation''' - ensures that answers pass certain criteria, like min and max values or a certain input pattern.
# '''Validación''': garantiza que las respuestas pasen ciertos criterios, como valores mínimos y máximos o un determinado patrón de entrada.


ES provides an intuitive way to specify the logic for each of those features. Nearly anything that you can write as a standard mathematical equation is a valid expression.  
ES proporciona una forma intuitiva de especificar la lógica para cada una de esas funciones. Casi cualquier cosa que puedas escribir como una ecuación matemática estándar es una expresión válida.  


ES currently provides access to 70 functions and it can be easily extended to support more. It also lets you access you
Actualmente, ES proporciona acceso a 70 funciones y se puede ampliar fácilmente para admitir más. También le permite acceder a sus
variables using human-readable variable names (rather than [[SGQA_identifier|SGQA names]]).
variables utilizando nombres de variables legibles por humanos (en lugar de [[SGQA_identifier|SGQA nombres]]).


The upcoming sections show the main places where the ES is used.
Las siguientes secciones muestran los principales lugares donde se utiliza el ES.




==Relevance (Controlling Navigation/Branching)==
==Relevancia (control de navegación/ramificación)==




Some surveys use "Goto Logic", such that if you answer Question1 with option C, you are redirected to Question5. This approach is very limited since it is hard to validate it. Moreover, it easily breaks when you have to reorder questions. On the other hand, ES uses [https://en.wikipedia.org/wiki/Boolean_algebra Boolean relevance equations] to specify all the conditions under which a question might be valid. If the question is relevant, then the question is shown, otherwise, it is not applicable, and the value "NULL" is stored in the database.  
Algunas encuestas utilizan "Ir a lógica", de modo que si responde la Pregunta 1 con la opción C, será redirigido a la Pregunta 5. Este enfoque es muy limitado ya que es difícil validarlo. Además, se rompe fácilmente cuando hay que reordenar las preguntas. Por otro lado, ES utiliza [https://en.wikipedia.org/wiki/Boolean_algebra Ecuaciones de relevancia booleana] para especificar todas las condiciones bajo las cuales una pregunta podría ser válida. Si la pregunta es relevante, se muestra; de lo contrario, no es aplicable y el valor "NULL" se almacena en la base de datos.  


<div class='simplebox'> '''Note:''' This is similar to what can be done via the [[Setting conditions|Conditions editor]], but ES lets you easily specify much more complex and powerful criteria (and lets you use the variable name rather than SGQA identifiers).</div>
<div class='simplebox'>'''Nota:''' Esto es similar a lo que se puede hacer a través del [[Condiciones de configuración|Editor de condiciones]], pero ES le permite especificar fácilmente criterios mucho más complejos y poderosos (y le permite usar el nombre de la variable en lugar de identificadores SGQA).</div>




Line 34: Line 34:




To better understand the relevance concept, let's focus on the following survey which computes the Body Mass Index (BMI) of survey respondents. To download it, click on the following link: [[Media:LS3_em_tailoring.zip|Body Mass Index survey example]].
Para comprender mejor el concepto de relevancia, centrémonos en la siguiente encuesta que calcula el índice de masa corporal (IMC) de los encuestados. Para descargarlo, haga clic en el siguiente enlace: [[Media:LS3_em_tailoring.zip|Ejemplo de encuesta de índice de masa corporal]].


The relevance equation is shown below in the '''Relevance''' column after the variable name. The relevance values of weight, weight_units, height, and height_units are all 1 (default value), meaning that those questions are always displayed. However, the relevance for BMI is {!is_empty(height) and !is_empty(weight)}, which means that BMI will only be computed if the subject enters a value for both height and weight (thereby avoiding the risk of getting a zero error). Also, question "Report" is only shown if the respondent answers all four main questions (height, heightunits, weight, weightunits).
La ecuación de relevancia se muestra a continuación en la columna '''Relevancia''' después del nombre de la variable. Los valores de relevancia de peso, unidades_peso, altura y unidades_altura son todos 1 (valor predeterminado), lo que significa que esas preguntas siempre se muestran. Sin embargo, la relevancia para el IMC es {!is_empty(altura) y !is_empty(peso)}, lo que significa que el IMC solo se calculará si el sujeto ingresa un valor tanto para la altura como para el peso (evitando así el riesgo de obtener un error de cero). Además, la pregunta "Informe" solo se muestra si el encuestado responde las cuatro preguntas principales (altura, unidades de altura, peso, unidades de peso).




Line 42: Line 42:




<div class="simplebox"> [[File:help.png]] '''Note:''' The above image comes from the [[Show logic file|survey logic file]] which allows you to look for syntax errors before activating the survey.</div>
<div class="simplebox">[[Archivo:help.png]] '''Nota:''' La imagen de arriba proviene del [[Mostrar archivo lógico|archivo lógico de encuesta]] que le permite buscar errores de sintaxis antes de activar la encuesta.</div>




Relevance is shown and editable when:
La relevancia se muestra y se puede editar cuando:
*you wish to view/edit question-level relevance
*deseas ver/editar la relevancia a nivel de pregunta
*you wish to view/edit group-level relevance
*deseas ver/editar la relevancia a nivel de grupo




===Viewing / Editing Question-Level Relevance===
===Ver/Editar la relevancia a nivel de pregunta===




This equation computes the Body Mass Index (BMI). It is only asked if the person enters their height and weight.
Esta ecuación calcula el índice de masa corporal (IMC). Sólo se pregunta si la persona ingresa su altura y peso.




Line 59: Line 59:




This is the edit screen for the "BMI" question.
Esta es la pantalla de edición para la pregunta "IMC".




Line 65: Line 65:




Note that you do not use the curly braces when you enter a relevance equation.
Tenga en cuenta que no utiliza llaves cuando ingresa una ecuación de relevancia.




===Viewing / Editing Group-Level Relevance===
===Ver/Editar la relevancia a nivel de grupo===




Let's focus now on another example - a simple census survey. To download it, click on the following link: [[Media:LS3_group_relevance.zip|Census survey example]].  
Centrémonos ahora en otro ejemplo: una encuesta censal sencilla. Para descargarlo, haga clic en el siguiente enlace: [[Media:LS3_group_relevance.zip|Ejemplo de encuesta del censo]].  


The first page asks how many people live with you and stores that in the "cohabs" variable. This page is only shown if you have more than one cohabitant (it is shown for the second person cohabitating with you). Also, p2name, p2age. p2sum are displayed only if the question before each of them contains a response.
La primera página pregunta cuántas personas viven con usted y lo almacena en la variable "cohabs". Esta página solo se muestra si tienes más de un conviviente (se muestra para la segunda persona que convive contigo). Además, p2name, p2age. p2sum se muestran solo si la pregunta anterior a cada una de ellas contiene una respuesta.




Line 79: Line 79:




So, the group also has question-level relevance criteria, such that some questions only appear if you answered certain questions before them (e.g., p2age is displayed if p2name was answered). ES combines the Group and Question-level relevance for you. '''Questions in a group are only asked if the group as a whole is relevant. Then, only the subset of questions within the group that are relevant are asked.'''
Por lo tanto, el grupo también tiene criterios de relevancia a nivel de pregunta, de modo que algunas preguntas solo aparecen si usted respondió ciertas preguntas antes (por ejemplo, se muestra p2age si se respondió p2name). ES combina la relevancia a nivel de grupo y de pregunta para usted. '''Las preguntas en un grupo sólo se hacen si el grupo en su conjunto es relevante. Luego, sólo se formula el subconjunto de preguntas dentro del grupo que sean relevantes".


Here is the screenshot for editing the group-level relevance of ''Cohabitant 2'':
Aquí está la captura de pantalla para editar la relevancia a nivel de grupo de ''Cohabitant 2'':




Line 87: Line 87:




Note that you do not use the curly braces when you enter a relevance equation.
Tenga en cuenta que no utiliza llaves cuando ingresa una ecuación de relevancia.


==Tailoring/Piping==
==Sastrería/Tuberías==




ES lets you easily do simple and complex conditional tailoring. Sometimes you just need a simple substitution, like saying, "You said you purchased <nowiki>[</nowiki>Product]. What did you like best about it?". Sometimes you need conditional substitution like "<nowiki>[</nowiki>Mr./Mrs.] <nowiki>[</nowiki>LastName], would you be willing to complete our survey?". In this case, you want to use "Mr. or Mrs." based on the person's gender. Other times you need even more complex substitution (such as based upon a mathematical computation). ES supports each of these types of tailoring/piping.
ES le permite realizar fácilmente adaptaciones condicionales simples y complejas. A veces sólo necesitas una simple sustitución, como decir: "Dijiste que compraste<nowiki> [</nowiki> Producto]. ¿Qué es lo que más te gustó de esto?". A veces necesitas una sustitución condicional como "<nowiki> [</nowiki> SR Sra.]<nowiki> [</nowiki> Apellido], ¿estaría dispuesto a completar nuestra encuesta?". En este caso, desea utilizar "Mr. o Sra." según el género de la persona. Otras veces necesita una sustitución aún más compleja (como basada en un cálculo matemático). ES admite cada uno de estos tipos de sastrería/tubería.




===Conditional Equations===
===Ecuaciones condicionales===




The Body Mass Index example shows the ability to compute a person's BMI, even while letting them enter their height and weight in two different units (cms vs inches and kgs vs lbs):
El ejemplo del índice de masa corporal muestra la capacidad de calcular el IMC de una persona, incluso permitiéndole ingresar su altura y peso en dos unidades diferentes (cm frente a pulgadas y kg frente a libras):




Line 104: Line 104:




In this case, weightkg is {if(weightunits == "kg", weight, weight * 0.453592)}. This "if()" function means that if the subject enters the weight using kilograms, use that value, otherwise multiply the entered value (pounds is the alternative) by 0.453592 to convert it to kilograms. The heightm variable uses a similar approach to compute the person's height in meters (height in cms/100), even if he has entered his height in inches (1 meter=3.28084 inches).
En este caso, peso kg es {if(pesounidades == "kg", peso, peso * 0,453592)}. Esta función "if()" significa que si el sujeto ingresa el peso usando kilogramos, use ese valor; de lo contrario, multiplique el valor ingresado (libras es la alternativa) por 0,453592 para convertirlo a kilogramos. La variable altura utiliza un método similar para calcular la altura de la persona en metros (altura en cm/100), incluso si ha ingresado su altura en pulgadas (1 metro = 3,28084 pulgadas).


BMI is computed as: {weightkg / (heightm * heightm)}.
El IMC se calcula como: {pesokg / (alturam * alturam)}.


Lastly, the report conditionally tailors the message for the subject, telling her what he entered. (e.g., "You said you are 2 meters tall and weight 70 kg.")
Por último, el informe adapta condicionalmente el mensaje al sujeto y le dice lo que ingresó. (por ejemplo, "Dijiste que mides 2 metros y pesas 70 kg").


In the below image, weightstatus uses nested "if()" statements to categorize the person as underweight to severely obese. You can see its equation by checking its logic:
En la imagen siguiente, Weightstatus utiliza declaraciones "if()" anidadas para clasificar a la persona desde bajo peso hasta obesidad severa. Puedes ver su ecuación comprobando su lógica:




Line 116: Line 116:




From the edit window for this question, you can see two things:
Desde la ventana de edición de esta pregunta, puede ver dos cosas:
#Tailoring must surround expressions with curly braces
#¡La adaptación debe rodear las expresiones con llaves
#Expressions can span multiple lines if, as in this case, you want to make it easier to read the nested conditional logic.
#Las expresiones pueden abarcar varias líneas si, como en este caso, desea que sea más fácil leer el Lógica condicional anidada.




Line 124: Line 124:




===Tailored Questions, Answers, and Reports===
===Preguntas, respuestas e informes personalizados===




<div class="simplebox">[[File:help.png]] '''Note:''' Dynamic tailoring may not work if answer options are made available in select boxes on the same question page. This results from the fact that tailoring inserts a <nowiki><span></nowiki> tag which is not valid inside select options.</div>
<div class="simplebox">[[File:help.png]] '''Nota:''' Es posible que la personalización dinámica no funcione si las opciones de respuesta están disponibles en cuadros de selección en la misma página de preguntas. Esto se debe al hecho de que la sastrería inserta un<nowiki></nowiki> <span>etiqueta que no es válida dentro de las opciones de selección.</span>


The BMI report looks like this:
El informe del IMC se ve así:




Line 135: Line 135:




Here is the edit window for the same question.
Aquí está la ventana de edición para la misma pregunta.




Line 141: Line 141:




Anything within curly braces is treated as an expression, being syntax-highlighted (color coded) in the prior image. If you have any typos (such as misspelled or undefined variable names or functions), ES would show an error. In our below example:
Todo lo que esté entre llaves se trata como una expresión y se resalta con sintaxis (codificada por colores) en la imagen anterior. Si tiene algún error tipográfico (como nombres de variables o funciones mal escritos o no definidos), ES mostrará un error. En nuestro siguiente ejemplo:
* heightunit.shown is an undefined variable name (it is actually heightunits.shown) and
* heightunit.shown es un nombre de variable no definido (en realidad es heightunits.shown) y
* "rnd()" is an undefined function (the proper function name is "round()").  
* "rnd()" es una función no definida (el nombre de función correcto es "round()" ).  


In both cases, the errors are located within a red box to make it easier to spot and fix them.
En ambos casos, los errores se ubican dentro de un cuadro rojo para que sea más fácil detectarlos y corregirlos.




Line 151: Line 151:




You can also see that you can quickly create complex reports, such as a table of entered values or tailored advice.
También puede ver que puede crear rápidamente informes complejos, como una tabla de valores ingresados o consejos personalizados.


Please remember that all tailoring must surround expressions with curly braces so that LimeSurvey knows which parts of the question are free text and which should be parsed by the ExpressionScript engine.
Recuerde que toda personalización debe rodear las expresiones con llaves para que LimeSurvey sepa qué partes de la pregunta son texto libre y cuáles deben ser analizadas por el motor ExpressionScript.




==Validation==
==Validación==




ES controls how most of the advanced question options work. These control aspects like min/max numbers of answers, min/max individual values, min/max sum values, and checking that entered values match specified string patterns. Any value in one of those fields is considered an expression, so you can have min/max criteria with complex conditional relationships to other questions.
ES controla cómo funcionan la mayoría de las opciones de preguntas avanzadas. Estos controlan aspectos como el número mínimo/máximo de respuestas, los valores individuales mínimo/máximo, los valores de suma mínimo/máximo y la verificación de que los valores ingresados coincidan con los patrones de cadena especificados. Cualquier valor en uno de esos campos se considera una expresión, por lo que puede tener criterios mínimo/máximo con relaciones condicionales complejas con otras preguntas.


In all of these cases, since the advanced question attribute is always considered an expression, you do not use curly braces when specifying it.
En todos estos casos, dado que el atributo de pregunta avanzada siempre se considera una expresión, no se utilizan llaves al especificarlo.


The [[ExpressionScript sample surveys|sample surveys]] page shows many working examples containing a variety of validation expressions.
La página [[Encuestas de muestra de ExpressionScript|encuestas de muestra]] muestra muchos ejemplos de trabajo que contienen una variedad de expresiones de validación.


=ExpressionScript - presentation=
=ExpresiónScript - presentación=




To find out more about ExpressionScript and how you can use different expressions to enhance your survey, please click on the following [https://manual.limesurvey.org/ExpressionScript_-_Presentation link].
Para obtener más información sobre ExpressionScript y cómo puede utilizar diferentes expresiones para mejorar su encuesta, haga clic en el siguiente [https://manual.limesurvey.org/ExpressionScript_-_Presentation link].

Latest revision as of 14:44, 6 September 2023


Guía de inicio rápido

Dentro de LimeSurvey, puede personalizar aún más sus encuestas mediante el uso de ExpressionScript (abreviado: ES). Nota al margen: "ExpressionScript se llamaba Expression Manager (EM) en una versión anterior. Si lees Expression Manager en alguna parte, es solo el antiguo nombre de ES."

ES se puede utilizar para especificar lo siguiente:

  1. Navegación/Bramificación: permite que las respuestas de un encuestado cambien el orden en que se muestran las preguntas;
  2. Sastrería/Piping: le ayuda a formular la pregunta (como referirse a respuestas anteriores o conjugación de oraciones según la edad o el sexo de los sujetos) o cómo generar informes personalizados (como puntuaciones de evaluaciones o consejos personalizados);
  3. Validación: garantiza que las respuestas pasen ciertos criterios, como valores mínimos y máximos o un determinado patrón de entrada.

ES proporciona una forma intuitiva de especificar la lógica para cada una de esas funciones. Casi cualquier cosa que puedas escribir como una ecuación matemática estándar es una expresión válida.

Actualmente, ES proporciona acceso a 70 funciones y se puede ampliar fácilmente para admitir más. También le permite acceder a sus variables utilizando nombres de variables legibles por humanos (en lugar de SGQA nombres).

Las siguientes secciones muestran los principales lugares donde se utiliza el ES.


Relevancia (control de navegación/ramificación)

Algunas encuestas utilizan "Ir a lógica", de modo que si responde la Pregunta 1 con la opción C, será redirigido a la Pregunta 5. Este enfoque es muy limitado ya que es difícil validarlo. Además, se rompe fácilmente cuando hay que reordenar las preguntas. Por otro lado, ES utiliza Ecuaciones de relevancia booleana para especificar todas las condiciones bajo las cuales una pregunta podría ser válida. Si la pregunta es relevante, se muestra; de lo contrario, no es aplicable y el valor "NULL" se almacena en la base de datos.

Nota: Esto es similar a lo que se puede hacer a través del Editor de condiciones, pero ES le permite especificar fácilmente criterios mucho más complejos y poderosos (y le permite usar el nombre de la variable en lugar de identificadores SGQA).




Para comprender mejor el concepto de relevancia, centrémonos en la siguiente encuesta que calcula el índice de masa corporal (IMC) de los encuestados. Para descargarlo, haga clic en el siguiente enlace: Ejemplo de encuesta de índice de masa corporal.

La ecuación de relevancia se muestra a continuación en la columna Relevancia después del nombre de la variable. Los valores de relevancia de peso, unidades_peso, altura y unidades_altura son todos 1 (valor predeterminado), lo que significa que esas preguntas siempre se muestran. Sin embargo, la relevancia para el IMC es {!is_empty(altura) y !is_empty(peso)}, lo que significa que el IMC solo se calculará si el sujeto ingresa un valor tanto para la altura como para el peso (evitando así el riesgo de obtener un error de cero). Además, la pregunta "Informe" solo se muestra si el encuestado responde las cuatro preguntas principales (altura, unidades de altura, peso, unidades de peso).



Archivo:help.png Nota: La imagen de arriba proviene del archivo lógico de encuesta que le permite buscar errores de sintaxis antes de activar la encuesta.


La relevancia se muestra y se puede editar cuando:

  • deseas ver/editar la relevancia a nivel de pregunta
  • deseas ver/editar la relevancia a nivel de grupo


Ver/Editar la relevancia a nivel de pregunta

Esta ecuación calcula el índice de masa corporal (IMC). Sólo se pregunta si la persona ingresa su altura y peso.



Esta es la pantalla de edición para la pregunta "IMC".



Tenga en cuenta que no utiliza llaves cuando ingresa una ecuación de relevancia.


Ver/Editar la relevancia a nivel de grupo

Centrémonos ahora en otro ejemplo: una encuesta censal sencilla. Para descargarlo, haga clic en el siguiente enlace: Ejemplo de encuesta del censo.

La primera página pregunta cuántas personas viven con usted y lo almacena en la variable "cohabs". Esta página solo se muestra si tienes más de un conviviente (se muestra para la segunda persona que convive contigo). Además, p2name, p2age. p2sum se muestran solo si la pregunta anterior a cada una de ellas contiene una respuesta.



Por lo tanto, el grupo también tiene criterios de relevancia a nivel de pregunta, de modo que algunas preguntas solo aparecen si usted respondió ciertas preguntas antes (por ejemplo, se muestra p2age si se respondió p2name). ES combina la relevancia a nivel de grupo y de pregunta para usted. Las preguntas en un grupo sólo se hacen si el grupo en su conjunto es relevante. Luego, sólo se formula el subconjunto de preguntas dentro del grupo que sean relevantes".

Aquí está la captura de pantalla para editar la relevancia a nivel de grupo de Cohabitant 2:



Tenga en cuenta que no utiliza llaves cuando ingresa una ecuación de relevancia.

Sastrería/Tuberías

ES le permite realizar fácilmente adaptaciones condicionales simples y complejas. A veces sólo necesitas una simple sustitución, como decir: "Dijiste que compraste [ Producto]. ¿Qué es lo que más te gustó de esto?". A veces necesitas una sustitución condicional como " [ SR Sra.] [ Apellido], ¿estaría dispuesto a completar nuestra encuesta?". En este caso, desea utilizar "Mr. o Sra." según el género de la persona. Otras veces necesita una sustitución aún más compleja (como basada en un cálculo matemático). ES admite cada uno de estos tipos de sastrería/tubería.


Ecuaciones condicionales

El ejemplo del índice de masa corporal muestra la capacidad de calcular el IMC de una persona, incluso permitiéndole ingresar su altura y peso en dos unidades diferentes (cm frente a pulgadas y kg frente a libras):



En este caso, peso kg es {if(pesounidades == "kg", peso, peso * 0,453592)}. Esta función "if()" significa que si el sujeto ingresa el peso usando kilogramos, use ese valor; de lo contrario, multiplique el valor ingresado (libras es la alternativa) por 0,453592 para convertirlo a kilogramos. La variable altura utiliza un método similar para calcular la altura de la persona en metros (altura en cm/100), incluso si ha ingresado su altura en pulgadas (1 metro = 3,28084 pulgadas).

El IMC se calcula como: {pesokg / (alturam * alturam)}.

Por último, el informe adapta condicionalmente el mensaje al sujeto y le dice lo que ingresó. (por ejemplo, "Dijiste que mides 2 metros y pesas 70 kg").

En la imagen siguiente, Weightstatus utiliza declaraciones "if()" anidadas para clasificar a la persona desde bajo peso hasta obesidad severa. Puedes ver su ecuación comprobando su lógica:



Desde la ventana de edición de esta pregunta, puede ver dos cosas:

  1. ¡La adaptación debe rodear las expresiones con llaves
  2. Las expresiones pueden abarcar varias líneas si, como en este caso, desea que sea más fácil leer el Lógica condicional anidada.



Preguntas, respuestas e informes personalizados

Nota: Es posible que la personalización dinámica no funcione si las opciones de respuesta están disponibles en cuadros de selección en la misma página de preguntas. Esto se debe al hecho de que la sastrería inserta un etiqueta que no es válida dentro de las opciones de selección.

El informe del IMC se ve así:



Aquí está la ventana de edición para la misma pregunta.



Todo lo que esté entre llaves se trata como una expresión y se resalta con sintaxis (codificada por colores) en la imagen anterior. Si tiene algún error tipográfico (como nombres de variables o funciones mal escritos o no definidos), ES mostrará un error. En nuestro siguiente ejemplo:

  • heightunit.shown es un nombre de variable no definido (en realidad es heightunits.shown) y
  • "rnd()" es una función no definida (el nombre de función correcto es "round()" ).

En ambos casos, los errores se ubican dentro de un cuadro rojo para que sea más fácil detectarlos y corregirlos.



También puede ver que puede crear rápidamente informes complejos, como una tabla de valores ingresados o consejos personalizados.

Recuerde que toda personalización debe rodear las expresiones con llaves para que LimeSurvey sepa qué partes de la pregunta son texto libre y cuáles deben ser analizadas por el motor ExpressionScript.


Validación

ES controla cómo funcionan la mayoría de las opciones de preguntas avanzadas. Estos controlan aspectos como el número mínimo/máximo de respuestas, los valores individuales mínimo/máximo, los valores de suma mínimo/máximo y la verificación de que los valores ingresados coincidan con los patrones de cadena especificados. Cualquier valor en uno de esos campos se considera una expresión, por lo que puede tener criterios mínimo/máximo con relaciones condicionales complejas con otras preguntas.

En todos estos casos, dado que el atributo de pregunta avanzada siempre se considera una expresión, no se utilizan llaves al especificarlo.

La página encuestas de muestra muestra muchos ejemplos de trabajo que contienen una variedad de expresiones de validación.

ExpresiónScript - presentación

Para obtener más información sobre ExpressionScript y cómo puede utilizar diferentes expresiones para mejorar su encuesta, haga clic en el siguiente link.