x

Capitolele principale

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Ghid de inițiere rapidă
  3. LimeSurvey CE - Instalare
  4. Cum să proiectați un sondaj bun (Ghid)
  5. Noțiuni de bază
  6. Configurați LimeSurvey
  7. Sondaje - Introducere
  8. Setările sondajului
  9. Vizualizați meniul sondajului
  10. Vedeți structura sondajului
  11. Introducere - Întrebări
  12. Introducere - Grupuri de întrebări
  13. Introducere - Managementul Sondajelor
  14. Opțiunile barei de instrumente pentru sondaj
  15. Sondaj multilingv
  16. Ghid de inițiere rapidă - ExpressionScript
  17. Caracteristici avansate
  18. Întrebări generale frrecvente
  19. Depanare
  20. Soluții alternative
  21. Licență
  22. Jurnal de modificare a versiunii
  23. Pluginuri - Avansat
 Actions

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

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "ES oferă o modalitate intuitivă de a specifica logica pentru fiecare dintre aceste caracteristici. Aproape orice puteți scrie ca o ecuație matematică standard este o expr..."
Maren.fritz (talk | contribs)
Created page with "Pentru a afla mai multe despre ExpressionScript și despre cum puteți utiliza diferite expresii pentru a vă îmbunătăți sondajul, vă rugăm să faceți clic pe următoru..."
 
(38 intermediate revisions by the same user not shown)
Line 17: Line 17:
ES oferă o modalitate intuitivă de a specifica logica pentru fiecare dintre aceste caracteristici. Aproape orice puteți scrie ca o ecuație matematică standard este o expresie validă.  
ES oferă o modalitate intuitivă de a specifica logica pentru fiecare dintre aceste caracteristici. Aproape orice puteți scrie ca o ecuație matematică standard este o expresie validă.  


ES currently provides access to 70 functions and it can be easily extended to support more. It also lets you access you
ES oferă în prezent acces la 70 de funcții și poate fi extins cu ușurință pentru a susține mai multe. De asemenea, vă permite să vă accesați
variables using human-readable variable names (rather than [[SGQA_identifier|SGQA names]]).
variabilele folosind nume de variabile care pot fi citite de om (în loc de [[SGQA_identifier|SGQA names]]).


The upcoming sections show the main places where the ES is used.
Secțiunile următoare arată principalele locuri în care este utilizat ES.




==Relevance (Controlling Navigation/Branching)==
==Relevanță (Controlarea navigației/Branching)==




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.  
Unele sondaje folosesc „Goto Logic”, astfel încât, dacă răspundeți la întrebarea 1 cu opțiunea C, sunteți redirecționat la întrebarea 5. Această abordare este foarte limitată, deoarece este greu de validat. În plus, se rupe cu ușurință atunci când trebuie să reordonezi întrebările. Pe de altă parte, ES utilizează [https://en.wikipedia.org/wiki/Boolean_algebra Ecuații de relevanță booleene] pentru a specifica toate condițiile în care o întrebare ar putea fi validă. Dacă întrebarea este relevantă, atunci întrebarea este afișată, în caz contrar, nu este aplicabilă, iar valoarea „NULL” este stocată în baza de date.  


<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'>'''Notă:''' Acest lucru este similar cu ceea ce se poate face prin [[Setting conditions|Editorul de condiții]], dar ES vă permite să specificați cu ușurință criterii mult mai complexe și mai puternice (și vă permite să utilizați numele variabilei mai degrabă decât identificatori 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]].
Pentru a înțelege mai bine conceptul de relevanță, să ne concentrăm pe următorul sondaj care calculează indicele de masă corporală (IMC) al respondenților la sondaj. Pentru a-l descărca, faceți clic pe următorul link: [[Media:LS3_em_tailoring.zip|Exemplu de sondaj cu indicele de masă 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).
Ecuația relevanței este afișată mai jos în coloana '''Relevanță''' după numele variabilei. Valorile de relevanță pentru greutate, greutate_unități, înălțime și înălțime_unități sunt toate 1 (valoare implicită), ceea ce înseamnă că acele întrebări sunt întotdeauna afișate. Cu toate acestea, relevanța pentru IMC este {!is_empty(height) și !is_empty(greutatea)}, ceea ce înseamnă că IMC va fi calculat numai dacă subiectul introduce o valoare atât pentru înălțime, cât și pentru greutate (evitând astfel riscul de a obține o eroare zero). De asemenea, întrebarea „Raport” este afișată numai dacă respondentul răspunde la toate cele patru întrebări principale (înălțime, unități de înălțime, greutate, unități de greutate).




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">[[File:help.png]] '''Notă:''' Imaginea de mai sus provine din [[Show logic file|survey logic file]] care vă permite să căutați erori de sintaxă înainte de a activa sondajul.</div>




Relevance is shown and editable when:
Relevanța este afișată și poate fi editată atunci când:
*you wish to view/edit question-level relevance
*doriți să vizualizați/editați relevanța la nivel de întrebare
*you wish to view/edit group-level relevance
*doriți să vedeți/editați relevanța la nivel de grup




===Viewing / Editing Question-Level Relevance===
===Vizualizarea / Editarea relevanței la nivel de întrebare===




This equation computes the Body Mass Index (BMI). It is only asked if the person enters their height and weight.
Această ecuație calculează indicele de masă corporală (IMC). Se întreabă doar dacă persoana își introduce înălțimea și greutatea.




Line 59: Line 59:




This is the edit screen for the "BMI" question.
Acesta este ecranul de editare pentru întrebarea „IMC”.




Line 65: Line 65:




Note that you do not use the curly braces when you enter a relevance equation.
Rețineți că nu folosiți acolade atunci când introduceți o ecuație de relevanță.




===Viewing / Editing Group-Level Relevance===
===Vizualizarea/Editarea relevanței la nivel de grup===




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]].  
Să ne concentrăm acum pe un alt exemplu - un simplu sondaj de recensământ. Pentru a-l descărca, faceți clic pe următorul link: [[Media:LS3_group_relevance.zip|Exemplu de sondaj de recensământ]].  


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.
Prima pagină întreabă câți oameni locuiesc cu tine și stochează asta în variabila „cohabs”. Această pagină este afișată numai dacă ai mai mult de un concubin (este afișată pentru a doua persoană care conviețuiește cu tine). De asemenea, p2name, p2age. p2sum sunt afișate numai dacă întrebarea dinaintea fiecăreia dintre ele conține un răspuns.




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.'''
Deci, grupul are, de asemenea, criterii de relevanță la nivel de întrebare, astfel încât unele întrebări apar numai dacă ați răspuns la anumite întrebări înaintea lor (de exemplu, p2age este afișat dacă s-a răspuns p2name). ES combină relevanța la nivel de grup și de întrebare pentru tine. '''Întrebările dintr-un grup sunt adresate doar dacă grupul în ansamblu este relevant. Apoi, sunt adresate doar subsetul de întrebări din cadrul grupului care sunt relevante.'''


Here is the screenshot for editing the group-level relevance of ''Cohabitant 2'':
Iată captura de ecran pentru editarea relevanței la nivel de grup a „Cohabitant 2”:




Line 87: Line 87:




Note that you do not use the curly braces when you enter a relevance equation.
Rețineți că nu utilizați acolade atunci când introduceți o ecuație de relevanță.


==Tailoring/Piping==
==Croitoria/tubulatură==




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 vă permite să faceți cu ușurință o croială condiționată simplă și complexă. Uneori ai nevoie doar de o simplă înlocuire, cum ar fi să spui „Ai spus că ai cumpărat<nowiki> [</nowiki> Produs]. Ce ți-a plăcut cel mai mult la ea?". Uneori ai nevoie de înlocuire condiționată precum „<nowiki> [</nowiki> domnul/doamna]<nowiki> [</nowiki> Nume], ați fi dispus să completați sondajul nostru?". În acest caz, doriți să utilizați „Dl. sau doamna." în funcție de sexul persoanei. Alteori aveți nevoie de substituții și mai complexe (cum ar fi bazate pe un calcul matematic). ES acceptă fiecare dintre aceste tipuri de croitorie/tubulatură.




===Conditional Equations===
===Ecuații condiționate===




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):
Exemplul de indice de masă corporală arată capacitatea de a calcula IMC al unei persoane, chiar dacă îi permite să-și introducă înălțimea și greutatea în două unități diferite (cm vs inci și kg vs lbs):




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).
În acest caz, greutate kg este {dacă (unități de greutate == „kg”, greutate, greutate * 0,453592)}. Această funcție „dacă()” înseamnă că, dacă subiectul introduce greutatea folosind kilograme, folosește acea valoare, altfel înmulțiți valoarea introdusă (alternativă este lire sterline) cu 0,453592 pentru a o converti în kilograme. Variabila înălțime folosește o abordare similară pentru a calcula înălțimea persoanei în metri (înălțimea în cms/100), chiar dacă aceasta și-a introdus înălțimea în inci (1 metru = 3,28084 inci).


BMI is computed as: {weightkg / (heightm * heightm)}.
IMC este calculat ca: {greutate kg / (înălțime m * înălțime m)}.


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.")
În cele din urmă, raportul adaptează în mod condiționat mesajul pentru subiect, spunându-i ce a introdus. (de exemplu, „Ai spus că ai 2 metri înălțime și că cântărești 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:
În imaginea de mai jos, weightstatus folosește declarații „if()” imbricate pentru a clasifica persoana ca subponderală până la obezitate severă. Puteți vedea ecuația sa verificând logica:




Line 116: Line 116:




From the edit window for this question, you can see two things:
Din fereastra de editare pentru această întrebare, puteți vedea două lucruri:
#Tailoring must surround expressions with curly braces
#Croitoria trebuie să înconjoare expresiile cu bretele
#Expressions can span multiple lines if, as in this case, you want to make it easier to read the nested conditional logic.
#Expresiile se pot întinde pe mai multe linii dacă, ca în acest caz, doriți să facilitați citirea logica condițională imbricată.




Line 124: Line 124:




===Tailored Questions, Answers, and Reports===
===Întrebări, răspunsuri și rapoarte personalizate===




<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]] '''Notă:''' Este posibil ca personalizarea dinamică să nu funcționeze dacă opțiunile de răspuns sunt disponibile în casetele de selectare de pe aceeași pagină de întrebări. Acest lucru rezultă din faptul că inserțiile de croitorie a<nowiki></nowiki> <span>etichetă care nu este validă în cadrul opțiunilor selectate.</span>


The BMI report looks like this:
Raportul IMC arată astfel:




Line 135: Line 135:




Here is the edit window for the same question.
Iată fereastra de editare pentru aceeași întrebare.




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:
Orice lucru din acolade este tratat ca o expresie, fiind evidențiat de sintaxă (codat de culoare) în imaginea anterioară. Dacă aveți greșeli de scriere (cum ar fi numele sau funcțiile variabilelor scrise greșit sau nedefinite), ES ar afișa o eroare. În exemplul nostru de mai jos:
* heightunit.shown is an undefined variable name (it is actually heightunits.shown) and
* heightunit.sown este un nume de variabilă nedefinit (de fapt este heightunits.sown) și
* "rnd()" is an undefined function (the proper function name is "round()").  
* „rnd()” este o funcție nedefinită (numele propriu al funcției este „round()).  


In both cases, the errors are located within a red box to make it easier to spot and fix them.
În ambele cazuri, erorile sunt localizate într-o casetă roșie pentru a le facilita identificarea și remedierea.




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.
De asemenea, puteți vedea că puteți crea rapid rapoarte complexe, cum ar fi un tabel cu valorile introduse sau sfaturi personalizate.


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.
Vă rugăm să rețineți că toate croirile trebuie să înconjoare expresiile cu acolade, astfel încât LimeSurvey să știe care părți ale întrebării sunt text liber și care ar trebui analizate de motorul ExpressionScript.




==Validation==
==Validare==




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 controlează modul în care funcționează majoritatea opțiunilor avansate de întrebare. Acestea controlează aspecte precum numărul min/max de răspunsuri, valorile individuale min/max, valorile sume min/max și verificarea faptului că valorile introduse se potrivesc cu modelele de șiruri specificate. Orice valoare dintr-unul dintre aceste câmpuri este considerată o expresie, așa că puteți avea criterii min/max cu relații condiționate complexe cu alte întrebări.


In all of these cases, since the advanced question attribute is always considered an expression, you do not use curly braces when specifying it.
În toate aceste cazuri, deoarece atributul de întrebare avansată este întotdeauna considerat o expresie, nu folosiți acolade atunci când îl specificați.


The [[ExpressionScript sample surveys|sample surveys]] page shows many working examples containing a variety of validation expressions.
Pagina [[ExpressionScript mostre de anchete|eșantion de anchete]] prezintă multe exemple de lucru care conțin o varietate de expresii de validare.


=ExpressionScript - presentation=
=ExpressionScript - prezentare=




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].
Pentru a afla mai multe despre ExpressionScript și despre cum puteți utiliza diferite expresii pentru a vă îmbunătăți sondajul, vă rugăm să faceți clic pe următorul [https://manual.limesurvey.org/ExpressionScript_-_Link de prezentare].

Latest revision as of 09:00, 7 November 2023


Ghid de pornire rapidă

În LimeSurvey, vă puteți personaliza în continuare sondajele prin utilizarea ExpressionScript (scurt: ES). Notă laterală: „ExpressionScript a fost numit Expression Manager (EM) în versiunea anterioară. Dacă citiți Expression Manager undeva, este doar vechiul nume al ES."

ES poate fi folosit pentru a specifica următoarele:

  1. Navigație/Branching - permite răspunsurilor unui respondent să schimbe ordinea în care sunt afișate întrebările;
  2. Croitorie/Conducte - vă ajută să formulați întrebarea (cum ar fi referirea la răspunsuri anterioare sau conjugarea propozițiilor bazate pe vârsta sau sexul subiecților) sau cum să generați rapoarte personalizate (cum ar fi scoruri de evaluare sau sfaturi personalizate);
  3. Validare - asigură că răspunsurile trec anumite criterii, cum ar fi valorile minime și maxime sau un anumit model de intrare.

ES oferă o modalitate intuitivă de a specifica logica pentru fiecare dintre aceste caracteristici. Aproape orice puteți scrie ca o ecuație matematică standard este o expresie validă.

ES oferă în prezent acces la 70 de funcții și poate fi extins cu ușurință pentru a susține mai multe. De asemenea, vă permite să vă accesați variabilele folosind nume de variabile care pot fi citite de om (în loc de SGQA names).

Secțiunile următoare arată principalele locuri în care este utilizat ES.


Relevanță (Controlarea navigației/Branching)

Unele sondaje folosesc „Goto Logic”, astfel încât, dacă răspundeți la întrebarea 1 cu opțiunea C, sunteți redirecționat la întrebarea 5. Această abordare este foarte limitată, deoarece este greu de validat. În plus, se rupe cu ușurință atunci când trebuie să reordonezi întrebările. Pe de altă parte, ES utilizează Ecuații de relevanță booleene pentru a specifica toate condițiile în care o întrebare ar putea fi validă. Dacă întrebarea este relevantă, atunci întrebarea este afișată, în caz contrar, nu este aplicabilă, iar valoarea „NULL” este stocată în baza de date.

Notă: Acest lucru este similar cu ceea ce se poate face prin Editorul de condiții, dar ES vă permite să specificați cu ușurință criterii mult mai complexe și mai puternice (și vă permite să utilizați numele variabilei mai degrabă decât identificatori SGQA).




Pentru a înțelege mai bine conceptul de relevanță, să ne concentrăm pe următorul sondaj care calculează indicele de masă corporală (IMC) al respondenților la sondaj. Pentru a-l descărca, faceți clic pe următorul link: Exemplu de sondaj cu indicele de masă corporală.

Ecuația relevanței este afișată mai jos în coloana Relevanță după numele variabilei. Valorile de relevanță pentru greutate, greutate_unități, înălțime și înălțime_unități sunt toate 1 (valoare implicită), ceea ce înseamnă că acele întrebări sunt întotdeauna afișate. Cu toate acestea, relevanța pentru IMC este {!is_empty(height) și !is_empty(greutatea)}, ceea ce înseamnă că IMC va fi calculat numai dacă subiectul introduce o valoare atât pentru înălțime, cât și pentru greutate (evitând astfel riscul de a obține o eroare zero). De asemenea, întrebarea „Raport” este afișată numai dacă respondentul răspunde la toate cele patru întrebări principale (înălțime, unități de înălțime, greutate, unități de greutate).



Notă: Imaginea de mai sus provine din survey logic file care vă permite să căutați erori de sintaxă înainte de a activa sondajul.


Relevanța este afișată și poate fi editată atunci când:

  • doriți să vizualizați/editați relevanța la nivel de întrebare
  • doriți să vedeți/editați relevanța la nivel de grup


Vizualizarea / Editarea relevanței la nivel de întrebare

Această ecuație calculează indicele de masă corporală (IMC). Se întreabă doar dacă persoana își introduce înălțimea și greutatea.



Acesta este ecranul de editare pentru întrebarea „IMC”.



Rețineți că nu folosiți acolade atunci când introduceți o ecuație de relevanță.


Vizualizarea/Editarea relevanței la nivel de grup

Să ne concentrăm acum pe un alt exemplu - un simplu sondaj de recensământ. Pentru a-l descărca, faceți clic pe următorul link: Exemplu de sondaj de recensământ.

Prima pagină întreabă câți oameni locuiesc cu tine și stochează asta în variabila „cohabs”. Această pagină este afișată numai dacă ai mai mult de un concubin (este afișată pentru a doua persoană care conviețuiește cu tine). De asemenea, p2name, p2age. p2sum sunt afișate numai dacă întrebarea dinaintea fiecăreia dintre ele conține un răspuns.



Deci, grupul are, de asemenea, criterii de relevanță la nivel de întrebare, astfel încât unele întrebări apar numai dacă ați răspuns la anumite întrebări înaintea lor (de exemplu, p2age este afișat dacă s-a răspuns p2name). ES combină relevanța la nivel de grup și de întrebare pentru tine. Întrebările dintr-un grup sunt adresate doar dacă grupul în ansamblu este relevant. Apoi, sunt adresate doar subsetul de întrebări din cadrul grupului care sunt relevante.

Iată captura de ecran pentru editarea relevanței la nivel de grup a „Cohabitant 2”:



Rețineți că nu utilizați acolade atunci când introduceți o ecuație de relevanță.

Croitoria/tubulatură

ES vă permite să faceți cu ușurință o croială condiționată simplă și complexă. Uneori ai nevoie doar de o simplă înlocuire, cum ar fi să spui „Ai spus că ai cumpărat [ Produs]. Ce ți-a plăcut cel mai mult la ea?". Uneori ai nevoie de înlocuire condiționată precum „ [ domnul/doamna] [ Nume], ați fi dispus să completați sondajul nostru?". În acest caz, doriți să utilizați „Dl. sau doamna." în funcție de sexul persoanei. Alteori aveți nevoie de substituții și mai complexe (cum ar fi bazate pe un calcul matematic). ES acceptă fiecare dintre aceste tipuri de croitorie/tubulatură.


Ecuații condiționate

Exemplul de indice de masă corporală arată capacitatea de a calcula IMC al unei persoane, chiar dacă îi permite să-și introducă înălțimea și greutatea în două unități diferite (cm vs inci și kg vs lbs):



În acest caz, greutate kg este {dacă (unități de greutate == „kg”, greutate, greutate * 0,453592)}. Această funcție „dacă()” înseamnă că, dacă subiectul introduce greutatea folosind kilograme, folosește acea valoare, altfel înmulțiți valoarea introdusă (alternativă este lire sterline) cu 0,453592 pentru a o converti în kilograme. Variabila înălțime folosește o abordare similară pentru a calcula înălțimea persoanei în metri (înălțimea în cms/100), chiar dacă aceasta și-a introdus înălțimea în inci (1 metru = 3,28084 inci).

IMC este calculat ca: {greutate kg / (înălțime m * înălțime m)}.

În cele din urmă, raportul adaptează în mod condiționat mesajul pentru subiect, spunându-i ce a introdus. (de exemplu, „Ai spus că ai 2 metri înălțime și că cântărești 70 kg”).

În imaginea de mai jos, weightstatus folosește declarații „if()” imbricate pentru a clasifica persoana ca subponderală până la obezitate severă. Puteți vedea ecuația sa verificând logica:



Din fereastra de editare pentru această întrebare, puteți vedea două lucruri:

  1. Croitoria trebuie să înconjoare expresiile cu bretele
  2. Expresiile se pot întinde pe mai multe linii dacă, ca în acest caz, doriți să facilitați citirea logica condițională imbricată.



Întrebări, răspunsuri și rapoarte personalizate

Notă: Este posibil ca personalizarea dinamică să nu funcționeze dacă opțiunile de răspuns sunt disponibile în casetele de selectare de pe aceeași pagină de întrebări. Acest lucru rezultă din faptul că inserțiile de croitorie a etichetă care nu este validă în cadrul opțiunilor selectate.

Raportul IMC arată astfel:



Iată fereastra de editare pentru aceeași întrebare.



Orice lucru din acolade este tratat ca o expresie, fiind evidențiat de sintaxă (codat de culoare) în imaginea anterioară. Dacă aveți greșeli de scriere (cum ar fi numele sau funcțiile variabilelor scrise greșit sau nedefinite), ES ar afișa o eroare. În exemplul nostru de mai jos:

  • heightunit.sown este un nume de variabilă nedefinit (de fapt este heightunits.sown) și
  • „rnd()” este o funcție nedefinită (numele propriu al funcției este „round()” ).

În ambele cazuri, erorile sunt localizate într-o casetă roșie pentru a le facilita identificarea și remedierea.



De asemenea, puteți vedea că puteți crea rapid rapoarte complexe, cum ar fi un tabel cu valorile introduse sau sfaturi personalizate.

Vă rugăm să rețineți că toate croirile trebuie să înconjoare expresiile cu acolade, astfel încât LimeSurvey să știe care părți ale întrebării sunt text liber și care ar trebui analizate de motorul ExpressionScript.


Validare

ES controlează modul în care funcționează majoritatea opțiunilor avansate de întrebare. Acestea controlează aspecte precum numărul min/max de răspunsuri, valorile individuale min/max, valorile sume min/max și verificarea faptului că valorile introduse se potrivesc cu modelele de șiruri specificate. Orice valoare dintr-unul dintre aceste câmpuri este considerată o expresie, așa că puteți avea criterii min/max cu relații condiționate complexe cu alte întrebări.

În toate aceste cazuri, deoarece atributul de întrebare avansată este întotdeauna considerat o expresie, nu folosiți acolade atunci când îl specificați.

Pagina eșantion de anchete prezintă multe exemple de lucru care conțin o varietate de expresii de validare.

ExpressionScript - prezentare

Pentru a afla mai multe despre ExpressionScript și despre cum puteți utiliza diferite expresii pentru a vă îmbunătăți sondajul, vă rugăm să faceți clic pe următorul de prezentare.