Actions

ExpressionScript sample surveys/it: Difference between revisions

From LimeSurvey Manual

(Updating to match new version of source page)
No edit summary
 
(100 intermediate revisions by 4 users not shown)
Line 34: Line 34:




<div class="mw-translate-fuzzy">
Questo esempio calcola l'Indice di Massa Corporea, un indice basato sul peso e l'altezza che determina se si è sottopeso, normopeso, sovrappeso o obesi. All'inizio, sono mostrate solo le quattro domande obbligatorie.
Questo esempio calcola l'Indice di Massa Corporea, un indice basato sul peso e l'altezza che determina se si è sottopeso, normopeso, sovrappeso o obesi. All'inizio, sono mostrate solo le quattro domande obbligatorie.
</div>




Line 167: Line 165:




{{Note|For this example, we recommend turning off the built-in HTML editor (or converting it to the pop-up mode) when editing this survey. It can take a minute or more for the HTML editor to render the large HTML reports in edit mode.}}
{{Note|Per questo esempio, si consiglia di disattivare l'editor HTML integrato (o di convertirlo in modalità popup) durante la modifica di questo sondaggio. L'editor HTML può impiegare un minuto o più per eseguire il rendering dei rapporti HTML di grandi dimensioni in modalità di modifica.}}




==Content==
==Contenuto==




*Examples of every question type
*Esempi per ogni tipo di domanda
*All questions types that can use "other" are included so that you can see how that affects variable naming
*Sono inclusi tutti i tipi di domande che utilizzano "altro", in modo da mostrare come ciò influisca sulla denominazione delle variabili
*Default values for all the question types that accepts defaults
*Valori predefiniti per tutti i tipi di domanda che accettano valori predefiniti
*Tailoring - On- and off-page reports showing all 16 available EM dot notation suffixes.
*Adattamento - Rapporti in pagina e fuori pagina che mostrano tutti i 16 suffissi disponibilil per EM.
*These reports show all of the currently entered data (so show you how you could generate your own printable reports for users in lieu of the print-answers screen)
*Questi report mostrano tutti i dati attualmente inseriti (quindi mostrano come generare i propri rapporti stampabili per gli utenti al posto della stampa diretta della schermata delle risposte)
*Proper Qcode and SGQA naming of all variables
*Qcode corretto e denominazione SGQA di tutte le variabili




==Screenshots==
==Screenshot==




This is a huge survey, so we chose not to include screen shots. Instead, please download and play with it.
Questo è un sondaggio enorme, quindi abbiamo scelto di non includere schermate. Consigliamo piuttosto di scaricarlo e giocarci un po'.




Line 190: Line 188:




Click on the following link to download the survey: [[Media:ls2_EM_question_attributes.lss|LS3_EM_question_attributes.lss]]
Fare clic sul collegamento seguente per scaricare il sondaggio: [[Media:ls2_EM_question_attributes.lss|LS3_EM_question_attributes.lss]]


=Traditional validation, re-envisioned=
=Validazione tradizionale, rivisitata=




==Overview==
==Panoramica==




This demonstrates all the validation types that make use of expressions and how they affect each of the question types that support validation. In many cases, the validation tips start hidden and only appear if a question fails validation criteria (thus also disappearing once the question passes the validation criteria).  
Dimostrazione di tutti i tipi di convalida che fanno uso di espressioni e di come esse influiscono su ciascuno dei tipi di domanda che supportano la convalida. In molti casi, i suggerimenti di convalida sono inizialmente nascosti e vengono visualizzati solo se una domanda non soddisfa i criteri di convalida (scomparendo, pertanto, una volta che la domanda superi i criteri di convalida).  




==Validation Types Demonstrated==
==Dimostrazione dei tipi di convalida==




#[[QS:Min_num_value_n|min_num_value_n]] - minimum value for an answer
#[[QS:Min_num_value_n|min_num_value_n]] - valore minimo per una risposta#[[QS:Max_num_value_n|max_num_value_n]] - valore massimo per una risposta
#[[QS:Max_num_value_n|max_num_value_n]] - max value for an answer
#[[QS:Min_answers|min_answers]] - numero minimo di risposte obbligatorie
#[[QS:Min_answers|min_answers]] - minimum number of answers required
#[[QS:Max_answers|max_answers]] - numero massimo di risposte consentite
#[[QS:Max_answers|max_answers]] maximum number of answers allowed
#[[QS:Multiflexible_min|multiflexible_min]] - numero minimo consentito per una risposta (per il tipo di domanda con numeri multiflexi)
#[[QS:Multiflexible_min|multiflexible_min]] - minimum value allowed for an answer (for multiflexi numbers question type)
#[[QS:Multiflexible_max|multiflexible_max]] - valore massimo consentito per una risposta (per il tipo di domanda con numeri multiflexi)
#[[QS:Multiflexible_max|multiflexible_max]] - maximum value allowed for an answer (for multiflexi numbers question type)
#[[QS:Min_num_value|min_num_value]] - valore minimo consentito per la somma di tutte le risposte alla domanda
#[[QS:Min_num_value|min_num_value]] - minimum allowed sum across all answers for the question
#[[QS:Max_num_value|max_num_value]] - valore massimo consentito per la somma di tutte le risposte alla domanda
#[[QS:Max_num_value|max_num_value]] - maximum allowed sum across all answers for the question
#[[QS:Equals_num_value|equals_num_value]] - la somma di tutte le risposte alla domanda deve essere pari a questo valore
#[[QS:Equals_num_value|equals_num_value]] - the sum across all answers for the question must equal this value
#[[QS:Preg_validation|validation]] - espressione regolare di convalida per la domanda - può essere applicata a singole celle
#[[QS:Preg_validation|validation]] - this is the regular expression validation for the question - it can apply to individual cells




==Screenshots==
==Screenshot==




Using new CSS styles, each validation type shows up a separate tip. If they are shown, they can be hidden via the hide_tip option. The default option is to show them with red font if the question fails the validation criteria, and green if it passes them:
Utilizzando nuovi stili CSS, ogni tipo di convalida mostra un suggerimento separato. Se vengono visualizzati, possono essere nascosti tramite l'opzione hide_tip. L'opzione predefinita è mostrarli con un carattere rosso se la domanda non soddisfa i criteri di convalida e verde se li supera:




Line 225: Line 222:




A user cannot submit a page with validation errors. He will be immediately warned if he entered wrong information:
Un utente non può inviare una pagina con errori di convalida. Verrà immediatamente avvertito se ha inserito informazioni errate:




Line 231: Line 228:




Validation can be applied to individual cells within an array, such as in this example where regular expression validations ensure that each entry is a properly formatted US phone number including area code.
La convalida può essere applicata a singole celle all'interno di un array, come in questo esempio, in cui le convalide delle espressioni regolari assicurano che ogni voce sia un numero di telefono statunitense formattato correttamente, incluso il prefisso.




Line 240: Line 237:




To download the above example, click on the following link: [[Media:LS3_Validation_tests.zip|LS3_Validation_tests.zip]].
Per scaricare l'esempio precedente, fare clic sul seguente collegamento: [[Media:LS3_Validation_tests.zip|LS3_Validation_tests.zip]].




=Validation Equations=
=Equazioni di convalida=




==Overview==
==Panoramica==




Sometimes you need custom validation that cannot be achieved using the traditional min/max criteria. For this, you will need to use the em_validation_q and em_validation_sq options which let you construct complex validation equations at the question and subquestion level, respectively.  
A volte è necessaria una convalida personalizzata che non può essere ottenuta utilizzando i tradizionali criteri minino/massimo. Per questo, sarà necessario utilizzare le opzioni em_validation_q e em_validation_sq, che consentono di costruire equazioni di convalida complesse rispettivamente a livello di domanda e sottodomanda.  




{{Note|At the subquestion level, we also introduce the "this" variable to make it easy to validate each cell in an array without needing to know its variable name. For more details about it, click here.}}
{{Nota|A livello di sottodomanda, introduciamo anche la variabile "this" per semplificare la convalida di ogni cella in un array senza dover conoscere il nome della variabile. Per maggiori dettagli su questo aspetto, fare clic qui.}}




==EM Features Demonstrated==
==Dimostrazione delle caratteristiche di EM==




#[[QS:Em_validation_q|em_validation_q]] - this is an equation that determines whether the whole question is valid
#[[QS:Em_validation_q|em_validation_q]] - questa equazione determina se l'intera domanda è valida
#[[QS:Em_validation_q_tip|em_validation_q_tip]] - this is the message to show if the question fails em_validation_q criteria
#[[QS:Em_validation_q_tip|em_validation_q_tip]] - questo è il messaggio da mostrare se la domanda non supera i criteri di convalida em_validation_q
#[[QS:Em_validation_sq|em_validation_sq]] - this is the equation that determines whether each subquestion (array cell) is valid
#[[QS:Em_validation_sq|em_validation_sq]] - questa equazione determina se ogni sottodomanda (o cella dell'array) è valida
#[[QS:Em_validation_sq_tip|em_validation_sq_tip]] - this is the message to show if any of the subquestions is invalid.
#[[QS:Em_validation_sq_tip|em_validation_sq_tip]] - questo messaggio è mostrato se esistono sottodomande non valide.


In general, when em_validation_sq is used, if any cell is invalid, the background color for that cell turns red to indicate that there is an error.
In generale, quando si utilizza em_validation_sq, se una cella non è valida il colore di sfondo di quella cella diventa rosso per indicare che c'è un errore.




==Screenshots==
==Screenshot==




Line 272: Line 269:




This question ensures that you enter the ages of your children in descending order by applying this validation equation:
Questa domanda assicura che l'età dei tuoi figli sia inserita in ordine decrescente applicando questa equazione di convalida:


<syntaxhighlight lang="php" enclose="div">q1_sq1 >= q1_sq2 && q1_sq2 >= q1_sq3 && q1_sq3 >= q1_sq4</syntaxhighlight>
<syntaxhighlight lang="php">q1_sq1 >= q1_sq2 && q1_sq2 >= q1_sq3 && q1_sq3 >= q1_sq4</syntaxhighlight>




Line 283: Line 280:




In the below example, the validation ensures that no more than 3 questions are answered on any given row by applying this validation equation:
Nell'esempio seguente, la convalida garantisce che non venga data risposta a più di 3 domande su una determinata riga applicando questa equazione di convalida:


<syntaxhighlight lang="php" enclose="div">(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= 3) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= 3) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) <= 3)</syntaxhighlight>
<syntaxhighlight lang="php">(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= 3) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= 3) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) < = 3)</syntaxhighlight>


You can also write this as follows, LimeSurvey automatically converting it at run-time to the above-listed expression.
Si può anche scrivere come segue e Limesurvey convertirà il tutto automaticamente a run-time nella espressione elencata sopra.


<syntaxhighlight lang="php" enclose="div">(sum(self.sq_A) <= 3) && (sum(self.sq_B) <= 3) && (sum(self.sq_C) <= 3)</syntaxhighlight>
<syntaxhighlight lang="php">(somma(self.sq_A) <= 3) && (somma(self.sq_B) <= 3) && (somma(self.sq_C) <= 3)</syntaxhighlight>




Line 298: Line 295:




To download the survey sample used in the above examples, click on the following link: [[Media:ls2_test_em_sq_validation.lss|ls2_test_em_sq_validation.lss]].
Per scaricare il sondaggio di esempio utilizzato negli esempi precedenti, agire sul link seguente: [[Media:ls2_test_em_sq_validation.lss|ls2_test_em_sq_validation.lss]].




=Subquestion relevance=
=Rilevanza per sottodomande=




==Overview==
==Panoramica==




This shows how array_filter and validation criteria can interact. For validations that apply to sums, only relevant (visible) values are considered.
Questa sezione mostra come possono interagire array_filter e criteri di convalida. Per le convalide che si applicano alle somme, vengono considerati solo i valori rilevanti (visibili).




==EM Features Demonstrated==
==Dimostrazione delle caratteristiche di EM==




Line 319: Line 316:
#[[QS:equals_num_value|equals_num_value]]
#[[QS:equals_num_value|equals_num_value]]


It also shows dynamic reporting of the numbers of questions answered in the core questions.
Mostra anche il reporting dinamico del numero di domande a cui è stata data risposta nelle domande principali.




==Screenshots==
==Screenshot==




Changing the number of visible rows dynamically changes the sum. Marking a subquestion as being irrelevant doesn't clear its value. Rather, if it is irrelevant, its values don't contribute to any equation.
La modifica del numero di righe visibili cambia dinamicamente la somma. Contrassegnare una sottodomanda come non rilevante non ne cancella il valore. Piuttosto, se non è rilevante, i suoi valori non contribuiscono a nessuna equazione.




Line 331: Line 328:




Note what happens when we check the "Fifth subquestion" for the first question '''"Which rows should appear below"'''. Note that the sum for the second "Enter some numbers" question is now 5. Even though subquestion 5 for that question still has the value 14 (e.g., if you un-check the fifth subquestion, you will see the value of 14 again), that value does not contribute to the sum since it is currently irrelevant. All irrelevant data is cleared (NULLed in the database) on submit, but it stays available on the page in case users want or need to change their minds about answers.
Si noti cosa accade quando si seleziona l'opzione "Fifth subquestion" per la prima domanda '''"Which rows should appear below"'''. La somma della seconda domanda "Enter some numbers" ora è 5. Anche se la sottodomanda 5 ha ancora il vaore 14 (cioè, se si deseleziona la quinda sottodomanda, si vedrà nuovamente il valore 14), quel valore non contribuisce alla somma perché considerato non rilevante. Tutti i dati non rilevanti sono cancellati (segnati nel database come NULL) al momento dell'invio, ma il valore resta disponibile sulla pagina nel caso gli utenti vogliano o debbano cambiare idea sulle risposte.




Line 340: Line 337:




To download our example, click here: [[Media:ls2_subquestion_relevance.lss|ls2_subquestion_relevance.lss]].
Utilizzare il seguente link per scaricare il nostro esempio: [[Media:ls2_subquestion_relevance.lss|ls2_subquestion_relevance.lss]].




=Using Comma as Radix Separator (Decimal Point)=
=Utilizzo della virgola come separatore di radice (punto decimale)=




==Overview==
==Panoramica==




The ExpressionScript ensures that only valid numbers can be entered into numeric fields. If you enter an invalid number, you will be warned that something is wrong (e.g., in the case of the fruity theme, the whole question is "red-ed").
ExpressionScript garantisce che solo i numeri validi possano essere inseriti nei campi numerici. Se si inserisce un numero non valido, si viene avvisati che qualcosa non va (ad esempio, nel caso del tema "fruity", l'intera domanda viene scritta in carattere rosso).


Note that the numeric values are always converted to using a period as the radix separator within the database. In this way, the statistical analyses will work appropriately.
Si noti che i valori numerici vengono sempre convertiti utilizzando un punto come separatore all'interno del database. In questo modo, le analisi statistiche funzioneranno in modo appropriato.


To change the radix separator, access the [[Text elements]] options located under the [[Survey_settings|Settings]] tab, and look for the [[Text_elements#Survey_text_elements_panel|decimal mark]] functionality.   
Per cambiare il separatore decimale, accedere alle opzioni [[Text elements|Elementi di testo]] che si trovano nel menù [[Survey_settings|Impostazioni]] e cercare la funzionalità [[Text_elements#Survey_text_elements_panel|Simbolo del decimale]].   




{{Note|For more information on what a radix separator is, click [https://en.wikipedia.org/wiki/Radix_point|here].}}
{{Note|Per ulteriori informazioni sul punto decimale, si veda la pagina wiki [https://en.wikipedia.org/wiki/Radix_point|Radix_point] (in inglese).}}




==Question Types Using Radix Separator==
==Tipi di domande che utilizzano il punto decimale==




#[[Question type - Numerical input|Numerical input]] <nowiki>[</nowiki>N]
#[[Question type - Numerical input|Inserimento numerico]] <nowiki>[</nowiki>N]
#[[Question type - Multiple numerical input|Multiple numerical input]] <nowiki>[</nowiki>K]
#[[Question type - Multiple numerical input|Inserimento numerico multiplo]] <nowiki>[</nowiki>K]
#[[Question type - Array (Numbers)|Array (Numbers)]] <nowiki>[</nowiki>:]
#[[Question type - Array (Numbers)|Array (Numeri)]] <nowiki>[</nowiki>:]
#[[Question type - Array (Texts)|Array (Texts)]] <nowiki>[</nowiki>;], when using the [[QS:Numbers_only|numbers_only]] attribute
#[[Question type - Array (Texts)|Array (Testo)]] <nowiki>[</nowiki>;], utilizzando l'attributo [[QS:Numbers_only|numbers_only]]
#[[Question type - List (Radio)|List (radio)]] <nowiki>[</nowiki>L], when using the [[QS:Other_numbers_only|other_numbers_only]] attribute
#[[Question type - List (Radio)|List (radio)]] <nowiki>[</nowiki>L], utilizzando l'attributo [[QS:Other_numbers_only|other_numbers_only]]
#[[Question type - Short free text|Short free text]] <nowiki>[</nowiki>S], when using the [[QS:Numbers_only|numbers_only]] attribute
#[[Question type - Short free text|Testo breve]] <nowiki>[</nowiki>S], utilizzando l'attributo [[QS:Other_numbers_only|other_numbers_only]]
#[[Question type - Multiple short text|Multiple short text]] <nowiki>[</nowiki>Q], when using the [[QS:Numbers_only|numbers_only]] attribute
#[[Question type - Multiple short text|Testo breve multiplo]] <nowiki>[</nowiki>Q], utilizzando l'attributo [[QS:Other_numbers_only|other_numbers_only]]
#[[Question type - Multiple choice|Multiple choice]] <nowiki>[</nowiki>M], when using the [[QS:Other_numbers_only|other_numbers_only]] attribute
#[[Question type - Multiple choice|Scelta multipla]] <nowiki>[</nowiki>M], utilizzando l'attributo [[QS:Other_numbers_only|other_numbers_only]]
#[[Question type - Multiple choice with comments|Multiple choice with comments]] <nowiki>[</nowiki>P], when using the [[QS:Other_numbers_only|other_numbers_only]] attribute
#[[Question type - Multiple choice with comments|Scelta multipla con commenti]] <nowiki>[</nowiki>P], utilizzando l'attributo [[QS:Other_numbers_only|other_numbers_only]]




==Screenshots==
==Screenshot==




You may note in the below screenshots that comma can be used as a radix separator.
Si può notare negli screenshot qui sotto che la virgola può essere utilizzata come punto decimale.




Line 385: Line 382:




To download the above example, click on the following link: [[Media:ls2_comma_as_radix_separator.lss|ls2_comma_as_radix_separator.lss]].
Per scaricare l'esempio precedente, fare clic sul link seguente: [[Media:ls2_comma_as_radix_separator.lss|ls2_comma_as_radix_separator.lss]].




=Randomization Groups=
=Gruppi di randomizzazione=




==Overview==
==Panoramica==




This survey demonstrates how to make use of the '''random_group''' attribute.
Questo sondaggio mostra come utilizzare l'attributo '''random_group'''.


If this attribute is used, each time you start the survey, the question order is randomized. However, once the survey is started, the randomization order remains fixed, even if you change languages.
Se viene utilizzato questo attributo, ogni volta che si avvia il sondaggio l'ordine delle domande viene randomizzato. Tuttavia, una volta avviato il sondaggio, l'ordine di randomizzazione rimane fisso, anche se si cambia lingua.




==Screenshots==
==Screenshot==




Let's check together the below example. The first random question on the page will either be Q1 , Q4, or Q7. The second randomized question on the page will either be Q2, Q5, or Q8.
Guardiamo insieme l'esempio seguente. La prima domanda casuale sulla pagina sarà Q1, Q4 o Q7. La seconda domanda randomizzata sulla pagina sarà Q2, Q5 o Q8.




Line 409: Line 406:




Here is the randomization generated the first time I tested this survey.
Ecco la randomizzazione generata la prima volta che ho testato questo sondaggio.




Line 415: Line 412:




A different randomization was generated the second time I tested the survey.
La seconda volta che ho testato il sondaggio è stata generata una diversa randomizzazione.




Line 421: Line 418:




But, when I switched to French (without re-starting the survey), the randomization order remained intact.
Ma, quando sono passato al francese (senza ricominciare il sondaggio), l'ordine di randomizzazione è rimasto intatto.




Line 430: Line 427:




To download the above example, click on the following link: [[Media:Randomization_Group_Test.lss|Randomization_Group_Test.lss]]
Per scaricare l'esempio precedente, fare clic sul link seguente: [[Media:Randomization_Group_Test.lss|Randomization_Group_Test.lss]]




=Randomly Ask One Question Per Group=
=Presentare una sola domanda a caso per gruppo=




==Overview==
==Panoramica==




This survey shows how you can configure a survey to randomly display one question per group. In it, there are 5 groups of 6 questions each. At the outset, in Group 0, five hidden Equation questions, called ask1-ask5, are populated. Each one has the value of {floor(rand(1,6.9999))} in the question text field, which means that the variables ask1-ask5 will each have a value between 1 and 6. Then, each question in the group has a relevance equation like "ask1==N" where N is the Nth question in the group (so the third question in group 1 has the relevance equation  "ask1==3").
Questo sondaggio mostra come configurare un sondaggio per visualizzare in modo casuale una domanda per gruppo. In esso ci sono 5 gruppi di 6 domande ciascuno. All'inizio, nel Gruppo 0, vengono compilate cinque domande nascoste di equazioni, chiamate ask1-ask5. Ognuna ha il valore di {floor(rand(1,6.9999))} nel campo di testo della domanda, il che significa che le variabili ask1-ask5 avranno ciascuna un valore compreso tra 1 e 6. Quindi, ogni domanda nel gruppo ha un equazione di rilevanza come "ask1 == N", dove N è l'ennesima domanda nel gruppo (quindi la terza domanda nel gruppo 1 ha l'equazione di rilevanza "ask1 == 3").


This survey works equally well in survey-at-a-time, group-by-group, and question-by-question modes. Since the randomization is set in the first group, and that group is effectively hidden (since all of the ask1-ask5 questions are hidden), the randomization stays the same for the subject; but each different subject will have a distinct randomization.
Questo sondaggio funziona altrettanto bene nelle modalità "un sondaggio alla volta", "gruppo per gruppo" e "domanda per domanda". Poiché la randomizzazione è impostata nel primo gruppo e quel gruppo è effettivamente nascosto (dal momento che tutte le domande ask1-ask5 sono nascoste), la randomizzazione rimane la stessa per ciascun soggetto; ma ogni soggetto diverso avrà una randomizzazione distinta.




==Features Demonstrated==
==Dimostrazione delle caratteristiche==




#[[Question type - Equation|Equation question type]]
#[[Question type - Equation|Tipo di domanda dell'equazione]]
#Randomization functions
#Funzioni di randomizzazione
#Conditional (if) function
#Funzione condizionale (if)




==Screenshots==
==Screenshot==




This is Group0, which uses the [[Question type - Equation|Equation question type]] to select random values from 1 to 6 for each group (except the last group, which has only 4 questions). Note that the "if()" function first checks whether ask1 has already been set, and if so, uses that value. If the value hasn't been set, then it uses a random value to set the value of ask1.
Questo è il Gruppo0, che utilizza il [[Question type - Equation|Tipo di domanda equazione]] per selezionare valori casuali da 1 a 6 per ogni gruppo (eccetto l'ultimo gruppo, che ha solo 4 domande). Nota che la funzione "if()" controlla prima se ask1 è già stato impostato e, in tal caso, utilizza quel valore. Se il valore non è stato impostato, utilizza un valore casuale per impostare il valore di ask1.




Line 461: Line 458:




This Group shows how the variable (ask4) from Group0 is used to control which question is visible within the fourth group.
Questo gruppo mostra come la variabile (ask4) del Gruppo0 viene utilizzata per controllare quale domanda è visibile all'interno del quarto gruppo.




Line 470: Line 467:




To download the above survey example, click here: [[Media:limesurvey_survey_55164.lss|Random questions within a group survey example]].
Per scaricare il sondaggio di esempio precedente, fare clic qui: [[Media: limesurvey_survey_55164.lss|Esempio di domande casuali all'interno di un gruppo]].




=Randomly Ask A Specific Number Of Questions In A Group (a subset of the questions)=
=Porre a caso un numero specifico di domande in un gruppo (un sottoinsieme delle domande)=




{{Alert|This applies only to all random questions from one group and only if the [[General_settings#General_settings_panel|Group by group or All in one]] format is used.}}
{{Avviso|Questo si applica solo a tutte le domande casuali di un gruppo e solo se viene utilizzato il formato [[General_settings # General_settings_panel |Un gruppo per pagina oppure Tutte le domande in una pagina]].}}




==Overview==
==Panoramica==




This survey shows how to ask a random subset of questions in a group. For example, show 5 random questions out of 10 questions located within a group.  
Questo sondaggio mostra come porre un sottoinsieme casuale di domande in un gruppo. Ad esempio, mostra 5 domande casuali su 10 domande situate all'interno di un gruppo.  


The survey has one group containing 10 questions. All questions are assigned the same [[QS:Random_group|randomization group name]]. As a result, they will be displayed in a random order on page load. Each question is given a relevance equation that the sum of the "[[ExpressionScript - Presentation#Access to Variables|relevanceStatus]]" of all other questions in the group is less than the number of questions you want to show. Since [[ExpressionScript - Presentation#Access to Variables|relevanceStatus]] is assigned as questions are rendered, this effectively totals the number of preceding questions.
Il sondaggio ha un gruppo contenente 10 domande. A tutte le domande viene assegnato lo stesso [[QS: Random_group|nome del gruppo di randomizzazione]]. Di conseguenza, verranno visualizzate in ordine casuale al caricamento della pagina. A ogni domanda viene assegnata un'equazione di rilevanza secondo cui la somma di "[[ExpressionScript - Presentation#Access to Variables|relevanceStatus]]" di tutte le altre domande nel gruppo è inferiore al numero di domande che si desidera mostrare. Poiché "[[ExpressionScript - Presentation#Access to Variables|relevanceStatus]]" viene assegnato durante il rendering delle domande, questo corrisponde effettivamente al numero di domande precedenti.


So, in our 5 out of 10 example, the equation for Q1 would be:
Quindi, nel nostro esempio "5 su 10", l'equazione per Q1 sarebbe:


<syntaxhighlight lang="php" enclose="div">sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>
<syntaxhighlight lang="php">sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>


For Q2, it would be:
Per Q2, sarebbe:


<syntaxhighlight lang="php" enclose="div">sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>
<syntaxhighlight lang="php">sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>


And so on...
E così via...




==Features Demonstrated==
==Dimostrazione delle caratteristiche==




#[[ExpressionScript - Presentation#Access to variables|relevanceStatus variable]]
#[[ExpressionScript - Presentation#Access to variables|variabile relevanceStatus]]
#[[QS:Random group|Randomizing]]
#[[QS:Random group|Randomizzazione]]


==Download==
==Download==




To download the above example, click on the following link: [[Media:Random_5_out_of_10.lss|Random 5 out of 10 survey example]].
Per scaricare l'esempio precedente, fare clic sul link seguente: [[Media:Random_5_out_of_10.lss|Random 5 out of 10 survey example]].


=Rating User-Entered List of Products=
=Classificazione di un elenco di prodotti inserito dall'utente=




==Overview==
==Panoramica==




The below example shows how you can ask users to list a set of products that interest them, and then have them rate those products.
L'esempio seguente mostra come chiedere agli utenti di elencare una serie di prodotti che li interessano e quindi chiedere loro di valutarli.




==ES Features Demonstrated==
==Dimostrazione delle caratteristiche di ES==




#'''Tailoring answers''' - when rating products, the labels come from the comment field of the preceding multiple choice question
#'''Personalizzazione delle risposte''' - quando si valutano i prodotti, le etichette provengono dal campo dei commenti della precedente domanda a scelta multipla
#'''Tailoring scales''' - many advanced questions options, like scale headings, can also be tailored.
# '''Scale personalizzate''' - molte opzioni avanzate delle domande, come i titoli delle scale, possono essere anche personalizzate.




==Screenshots==
==Screenshot==




This image shows that even though only products 1,3, and 5 were selected, only those 3 are displayed (using the [[QS:Array_filter|array_filter]] attribute). Moreover, the row labels in the second question are either the product numbers (if nothing is entered into the comment field) or the contents of the comment fields.
Questa immagine mostra che, essendo stati selezionati solo i prodotti 1,3 e 5, vengono visualizzati solo quei tre (utilizzando l'attributo [[QS: Array_filter|array_filter]]). Inoltre, le etichette delle righe nella seconda domanda sono i numeri di prodotto (se non viene inserito nulla nel campo dei commenti) o il contenuto dei campi dei commenti.




Line 533: Line 530:




This image shows how the tailored answers are specified:
Questa immagine mostra come vengono specificate le risposte su misura:




Line 539: Line 536:




Here is the Show Logic File for that question, which lets us verify that the conditional logic works as desired (e.g., to see whether there are any syntax errors):
Ecco il File della logica per quella domanda, che ci consente di verificare che la logica condizionale funzioni come desiderato (ad esempio, per vedere se ci sono errori di sintassi):




Line 545: Line 542:




The next image shows a group in which you specify a 5 point rating scale (Options 1-5), the title of the scale, and the products you want to rate. The final question shows that each of the parts of the array question can be tailored:
L'immagine successiva mostra un gruppo in cui si specifica una scala di valutazione a 5 punti (Opzioni 1-5), il titolo della scala e i prodotti che si desidera valutare. L'ultima domanda mostra che ciascuna delle parti della domanda di tipo array può essere adattata:




Line 551: Line 548:




The next image shows the logic file view of the last question. As you can observe, the subquestions, answers, and scale headers can be tailored.
L'immagine successiva mostra la visualizzazione del File della logica per l'ultima domanda. Come si può osservare, le domande secondarie, le risposte e le intestazioni di scala possono essere personalizzate.




<center>[[File:mcc_filter5.jpg]]</center>
<center>[[File:mcc_filter5.jpg]]</center>


==Download==
==Download==




To download the survey example from above, click on the following link: [[Media:Rating_User-Entered_List_of_Products_Survey.zip|Rating user-entered list of products survey example]].
Per scaricare l'esempio del sondaggio precedente, fare clic sul link seguente: [[Media:Rating_User-Entered_List_of_Products_Survey.zip|Esempio di valutazione di una lista di prodotti inserita dall' utente]].

Latest revision as of 16:19, 8 August 2023


Introduzione

il modo migliore per imparare ad usare ExpressionScript è provare esempi funzionanti e modificarli secondo le proprie esigenze.

Nel testo seguente sono disponibili alcuni sondaggi di esempi per valutare come si può usare EM per migliorare i propri sondaggi. Questi sondaggi sono anche disponibili nella directory /docs/demosurvey della distribuzione.


Rilevanza, Adattamento ed Equazioni

Panoramica

L'esempio seguente calcola l'IMC (Indice di Massa Corporea, in inglese Body Mass Index) del partecipante. L'esempio mostra diverse caratteristiche, illustrate più avanti.

Dimostrazione delle caratteristiche dell'EM

  1. Rilevanza - supporto per logica condizionale "potente";
  2. Piping / Tailoring - offre la possibilità di concatenare o adattare le risposte e i metadati delle domande;
  3. Adattamento Dinamico - report che cambiano sulla pagina stesas mentre si digitano le risposte.
  4. Micro-Tailoring - adattamento condizionale all'interno di frasi e report con l'utilizzo di istruzioni if()
  5. Equazioni - un nuovo tipo di domanda che consente l'esecuzione di calcoli, anche nascosti, e la conservazione dei risultati sul database
  6. Convalida dondizionale - criteri di convalida, come ad esempio il valore minimo accettabile, possono essere ora condizionali, vale a dire basati su equazioni.


Screenshot

Questo esempio calcola l'Indice di Massa Corporea, un indice basato sul peso e l'altezza che determina se si è sottopeso, normopeso, sovrappeso o obesi. All'inizio, sono mostrate solo le quattro domande obbligatorie.



Dopo aver inserito le informazioni (ed aver scelto se si desidera utilizzare unità metriche o meno), è mostrato un report personalizzato che riassume i dati inseriti e mostra l'indicatore dello stato di peso forma.



Ecco un altro esempio, che utilizza unità non metriche per mostrare come i risultati cambiano dinamicamente:



Sono state inserite domande nascoste di tipo Equazione per convertire i dati nel sistema metrico, quando appropriato. In queste domande sono conservati altezza e peso in unità metriche, che confluiscono nella base dati, con l'indice IMC e lo stato di peso forma, senza che si debba creare codice JavaScript personalizzato.

Negli esempi successivi è mostrato come mostrare funzioni, matematiche o d'altro tipo, all'interno di report personalizzati. Prima dell'inserimento di dati, la pagina appare in questo modo. Grazie alla logica condizionale, se non sono presenti dati numerici le celle restano vuote invece di mostrare "NaN" o "Divide by Zero".



Dopo che sono stati inseriti i numeri, il report della pagina è modificato e mostra il calcolo eseguito e il suo risultato.



Nel sondaggio di esempio sono presenti molti altri esempi. Ad esempio, nella schermata seguente è mostrata una delle tante maniere nelle quali è possibile compilare la pagina Dynamic Relevance. Come illustrato nelle note, è possibile provare a inserite diverse età e, in particolare, all'inserimento di combinazioni incompatibili di risposte sono mostrati messaggi divertenti. Si noti anche che se si dichiara di avere più di un figlio, il messaggio dirà "I hope you enjoy playing with your X children" ("spero che ti diverta a giocare con i tuoi X bambini"), piuttosto che declinare la frase al singolare. Con questo si mostra come si possono personalizzare singole frasi per adattarle al genere e/o al numero dei sostantivi utilizzati, come anche si possono anche coniugare facilmente verbi.



Download

Per scaricare il sondaggio di esempio, utilizzare il link seguente: LS3_em_tailoring.zip.

Sample Census

Introduzione

Questo è un esempio di censimento nel quale si chiede quante persone costituiscono il nucleo familiare.

Mostra in che modo è possibile utilizzare la rilevanza a livello di gruppo per implementare facilmente la ripetizione ciclica di domande ("loop"). Dopo aver creato il gruppo per "Person 1", questo è stato esportato. Avendo utilizzato nomi di variabile qcode del tipo p1_name, si è potuto utilizzare un editor di testo per modificare velocemente e re-importare i gruppi più volte: sono stati sufficienti 10 secondi per modificare e re-importare ogni nuovo gruppo mantenendo nomi unici per le variabili e logica corretta a livello di gruppo.

Sarebbe stato possibile utilizzare anche l'opzione copia domanda ma l'opzione mostrata è più rapida.

Si vede anche come evitare che il messaggio di Fine compilazione appaia solo quando il sondaggio è effettivamente terminato (vale a dire, quando tutti i gruppi obbligatori sono completati).


Dimostrazione delle caratteristiche di EM

  1. Rilevanza a livello di gruppi - I gruppi successivi ("Person 1-5") sono mostrati solo fino al numero di conviventi specificati;
  2. Adattamento - Il report finale riassume i dati demografici di ciascun convivente;
  3. Visualizzazione progressiva delle domande - Sia in gruppo che in modalità pagina singola, le domande successive sono mostrate mano a mano che le precedenti ricevono una risposta.


Screenshot

Il sondaggio produce un report dinamico nel quale sono mostrati i dati demografici dello specifico numero di conviventi:



Se il sondaggio è mostrato una domanda alla volta, si vede che l'indice si adatta alle domande. Dal momento che l'utente ha scritto che la persona è una donna, la domanda (in inglese) è declinata al femminile. E visto che è stato inserito il suo nome, "Mary", la domanda successiva chiede "How old is Mary?" ("Quanti anni ha Mary?").



Download

Usare il link seguente per scaricare il sondaggio di esempio: LS3_group_relevance.zip.


Filtri concatenati per Array

Panoramica

Il sondaggio seguente si basa su un originale gentilmente concesso da Joy Lane Research, LLC.


Screenshot

Nelle immagini seguenti, notare che.

  • Q2 mostra solo i prodotti selezionati (con array_filter) in Q01
  • Q02 mostra anche "Another product", ovvero il testo inserito nel campo "Other electronic" di Q01
  • Q04 mostra solo prodotti in Q02 che sono stati selezionati (filtraggio concatenato)
  • Q05 mostra solo prodotti in Q02 che NON sono stati selezioati in Q02 (filtraggio concatenato che utilizza array_filter_exclude)




Download

Utilizzare il seguente link per scaricare l'esempio precedente:LS2_cascading_array_filter sondaggio di esempio.


Adattamento/Piping utilizzando tutti i tipi di domanda e attributi

Panoramica

Se siete confusi su come nominare le vostre variabili (SGQA o Qcode), non siete soli. Anche se la documentazione descrive come comporre nomi di variabile Qcode, niente è meglio che osservare una demo funzionante. Il sondaggio seguente mostra come accedere ad attributi di domanda e risposte utilizzando ExpressionScript.


Per questo esempio, si consiglia di disattivare l'editor HTML integrato (o di convertirlo in modalità popup) durante la modifica di questo sondaggio. L'editor HTML può impiegare un minuto o più per eseguire il rendering dei rapporti HTML di grandi dimensioni in modalità di modifica.


Contenuto

  • Esempi per ogni tipo di domanda
  • Sono inclusi tutti i tipi di domande che utilizzano "altro", in modo da mostrare come ciò influisca sulla denominazione delle variabili
  • Valori predefiniti per tutti i tipi di domanda che accettano valori predefiniti
  • Adattamento - Rapporti in pagina e fuori pagina che mostrano tutti i 16 suffissi disponibilil per EM.
  • Questi report mostrano tutti i dati attualmente inseriti (quindi mostrano come generare i propri rapporti stampabili per gli utenti al posto della stampa diretta della schermata delle risposte)
  • Qcode corretto e denominazione SGQA di tutte le variabili


Screenshot

Questo è un sondaggio enorme, quindi abbiamo scelto di non includere schermate. Consigliamo piuttosto di scaricarlo e giocarci un po'.


Download

Fare clic sul collegamento seguente per scaricare il sondaggio: LS3_EM_question_attributes.lss

Validazione tradizionale, rivisitata

Panoramica

Dimostrazione di tutti i tipi di convalida che fanno uso di espressioni e di come esse influiscono su ciascuno dei tipi di domanda che supportano la convalida. In molti casi, i suggerimenti di convalida sono inizialmente nascosti e vengono visualizzati solo se una domanda non soddisfa i criteri di convalida (scomparendo, pertanto, una volta che la domanda superi i criteri di convalida).


Dimostrazione dei tipi di convalida

  1. min_num_value_n - valore minimo per una risposta#max_num_value_n - valore massimo per una risposta
  2. min_answers - numero minimo di risposte obbligatorie
  3. max_answers - numero massimo di risposte consentite
  4. multiflexible_min - numero minimo consentito per una risposta (per il tipo di domanda con numeri multiflexi)
  5. multiflexible_max - valore massimo consentito per una risposta (per il tipo di domanda con numeri multiflexi)
  6. min_num_value - valore minimo consentito per la somma di tutte le risposte alla domanda
  7. max_num_value - valore massimo consentito per la somma di tutte le risposte alla domanda
  8. equals_num_value - la somma di tutte le risposte alla domanda deve essere pari a questo valore
  9. validation - espressione regolare di convalida per la domanda - può essere applicata a singole celle


Screenshot

Utilizzando nuovi stili CSS, ogni tipo di convalida mostra un suggerimento separato. Se vengono visualizzati, possono essere nascosti tramite l'opzione hide_tip. L'opzione predefinita è mostrarli con un carattere rosso se la domanda non soddisfa i criteri di convalida e verde se li supera:



Un utente non può inviare una pagina con errori di convalida. Verrà immediatamente avvertito se ha inserito informazioni errate:



La convalida può essere applicata a singole celle all'interno di un array, come in questo esempio, in cui le convalide delle espressioni regolari assicurano che ogni voce sia un numero di telefono statunitense formattato correttamente, incluso il prefisso.



Download

Per scaricare l'esempio precedente, fare clic sul seguente collegamento: LS3_Validation_tests.zip.


Equazioni di convalida

Panoramica

A volte è necessaria una convalida personalizzata che non può essere ottenuta utilizzando i tradizionali criteri minino/massimo. Per questo, sarà necessario utilizzare le opzioni em_validation_q e em_validation_sq, che consentono di costruire equazioni di convalida complesse rispettivamente a livello di domanda e sottodomanda.


Template:Nota


Dimostrazione delle caratteristiche di EM

  1. em_validation_q - questa equazione determina se l'intera domanda è valida
  2. em_validation_q_tip - questo è il messaggio da mostrare se la domanda non supera i criteri di convalida em_validation_q
  3. em_validation_sq - questa equazione determina se ogni sottodomanda (o cella dell'array) è valida
  4. em_validation_sq_tip - questo messaggio è mostrato se esistono sottodomande non valide.

In generale, quando si utilizza em_validation_sq, se una cella non è valida il colore di sfondo di quella cella diventa rosso per indicare che c'è un errore.


Screenshot


Questa domanda assicura che l'età dei tuoi figli sia inserita in ordine decrescente applicando questa equazione di convalida:

q1_sq1 >= q1_sq2 && q1_sq2 >= q1_sq3 && q1_sq3 >= q1_sq4





Nell'esempio seguente, la convalida garantisce che non venga data risposta a più di 3 domande su una determinata riga applicando questa equazione di convalida:

(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= 3) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= 3) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) < = 3)

Si può anche scrivere come segue e Limesurvey convertirà il tutto automaticamente a run-time nella espressione elencata sopra.

(somma(self.sq_A) <= 3) && (somma(self.sq_B) <= 3) && (somma(self.sq_C) <= 3)



Download

Per scaricare il sondaggio di esempio utilizzato negli esempi precedenti, agire sul link seguente: ls2_test_em_sq_validation.lss.


Rilevanza per sottodomande

Panoramica

Questa sezione mostra come possono interagire array_filter e criteri di convalida. Per le convalide che si applicano alle somme, vengono considerati solo i valori rilevanti (visibili).


Dimostrazione delle caratteristiche di EM

  1. array_filter
  2. array_filter_exclude
  3. min_num_value
  4. max_num_value
  5. equals_num_value

Mostra anche il reporting dinamico del numero di domande a cui è stata data risposta nelle domande principali.


Screenshot

La modifica del numero di righe visibili cambia dinamicamente la somma. Contrassegnare una sottodomanda come non rilevante non ne cancella il valore. Piuttosto, se non è rilevante, i suoi valori non contribuiscono a nessuna equazione.



Si noti cosa accade quando si seleziona l'opzione "Fifth subquestion" per la prima domanda "Which rows should appear below". La somma della seconda domanda "Enter some numbers" ora è 5. Anche se la sottodomanda 5 ha ancora il vaore 14 (cioè, se si deseleziona la quinda sottodomanda, si vedrà nuovamente il valore 14), quel valore non contribuisce alla somma perché considerato non rilevante. Tutti i dati non rilevanti sono cancellati (segnati nel database come NULL) al momento dell'invio, ma il valore resta disponibile sulla pagina nel caso gli utenti vogliano o debbano cambiare idea sulle risposte.



Download

Utilizzare il seguente link per scaricare il nostro esempio: ls2_subquestion_relevance.lss.


Utilizzo della virgola come separatore di radice (punto decimale)

Panoramica

ExpressionScript garantisce che solo i numeri validi possano essere inseriti nei campi numerici. Se si inserisce un numero non valido, si viene avvisati che qualcosa non va (ad esempio, nel caso del tema "fruity", l'intera domanda viene scritta in carattere rosso).

Si noti che i valori numerici vengono sempre convertiti utilizzando un punto come separatore all'interno del database. In questo modo, le analisi statistiche funzioneranno in modo appropriato.

Per cambiare il separatore decimale, accedere alle opzioni Elementi di testo che si trovano nel menù Impostazioni e cercare la funzionalità Simbolo del decimale.


Per ulteriori informazioni sul punto decimale, si veda la pagina wiki [https://en.wikipedia.org/wiki/Radix_point


Tipi di domande che utilizzano il punto decimale

  1. Inserimento numerico [N]
  2. Inserimento numerico multiplo [K]
  3. Array (Numeri) [:]
  4. Array (Testo) [;], utilizzando l'attributo numbers_only
  5. List (radio) [L], utilizzando l'attributo other_numbers_only
  6. Testo breve [S], utilizzando l'attributo other_numbers_only
  7. Testo breve multiplo [Q], utilizzando l'attributo other_numbers_only
  8. Scelta multipla [M], utilizzando l'attributo other_numbers_only
  9. Scelta multipla con commenti [P], utilizzando l'attributo other_numbers_only


Screenshot

Si può notare negli screenshot qui sotto che la virgola può essere utilizzata come punto decimale.



Download

Per scaricare l'esempio precedente, fare clic sul link seguente: ls2_comma_as_radix_separator.lss.


Gruppi di randomizzazione

Panoramica

Questo sondaggio mostra come utilizzare l'attributo random_group.

Se viene utilizzato questo attributo, ogni volta che si avvia il sondaggio l'ordine delle domande viene randomizzato. Tuttavia, una volta avviato il sondaggio, l'ordine di randomizzazione rimane fisso, anche se si cambia lingua.


Screenshot

Guardiamo insieme l'esempio seguente. La prima domanda casuale sulla pagina sarà Q1, Q4 o Q7. La seconda domanda randomizzata sulla pagina sarà Q2, Q5 o Q8.



Ecco la randomizzazione generata la prima volta che ho testato questo sondaggio.



La seconda volta che ho testato il sondaggio è stata generata una diversa randomizzazione.



Ma, quando sono passato al francese (senza ricominciare il sondaggio), l'ordine di randomizzazione è rimasto intatto.



Download

Per scaricare l'esempio precedente, fare clic sul link seguente: Randomization_Group_Test.lss


Presentare una sola domanda a caso per gruppo

Panoramica

Questo sondaggio mostra come configurare un sondaggio per visualizzare in modo casuale una domanda per gruppo. In esso ci sono 5 gruppi di 6 domande ciascuno. All'inizio, nel Gruppo 0, vengono compilate cinque domande nascoste di equazioni, chiamate ask1-ask5. Ognuna ha il valore di {floor(rand(1,6.9999))} nel campo di testo della domanda, il che significa che le variabili ask1-ask5 avranno ciascuna un valore compreso tra 1 e 6. Quindi, ogni domanda nel gruppo ha un equazione di rilevanza come "ask1 == N", dove N è l'ennesima domanda nel gruppo (quindi la terza domanda nel gruppo 1 ha l'equazione di rilevanza "ask1 == 3").

Questo sondaggio funziona altrettanto bene nelle modalità "un sondaggio alla volta", "gruppo per gruppo" e "domanda per domanda". Poiché la randomizzazione è impostata nel primo gruppo e quel gruppo è effettivamente nascosto (dal momento che tutte le domande ask1-ask5 sono nascoste), la randomizzazione rimane la stessa per ciascun soggetto; ma ogni soggetto diverso avrà una randomizzazione distinta.


Dimostrazione delle caratteristiche

  1. Tipo di domanda dell'equazione
  2. Funzioni di randomizzazione
  3. Funzione condizionale (if)


Screenshot

Questo è il Gruppo0, che utilizza il Tipo di domanda equazione per selezionare valori casuali da 1 a 6 per ogni gruppo (eccetto l'ultimo gruppo, che ha solo 4 domande). Nota che la funzione "if()" controlla prima se ask1 è già stato impostato e, in tal caso, utilizza quel valore. Se il valore non è stato impostato, utilizza un valore casuale per impostare il valore di ask1.



Questo gruppo mostra come la variabile (ask4) del Gruppo0 viene utilizzata per controllare quale domanda è visibile all'interno del quarto gruppo.



Download

Per scaricare il sondaggio di esempio precedente, fare clic qui: Esempio di domande casuali all'interno di un gruppo.


Porre a caso un numero specifico di domande in un gruppo (un sottoinsieme delle domande)

Template:Avviso


Panoramica

Questo sondaggio mostra come porre un sottoinsieme casuale di domande in un gruppo. Ad esempio, mostra 5 domande casuali su 10 domande situate all'interno di un gruppo.

Il sondaggio ha un gruppo contenente 10 domande. A tutte le domande viene assegnato lo stesso nome del gruppo di randomizzazione. Di conseguenza, verranno visualizzate in ordine casuale al caricamento della pagina. A ogni domanda viene assegnata un'equazione di rilevanza secondo cui la somma di "relevanceStatus" di tutte le altre domande nel gruppo è inferiore al numero di domande che si desidera mostrare. Poiché "relevanceStatus" viene assegnato durante il rendering delle domande, questo corrisponde effettivamente al numero di domande precedenti.

Quindi, nel nostro esempio "5 su 10", l'equazione per Q1 sarebbe:

sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5

Per Q2, sarebbe:

sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5

E così via...


Dimostrazione delle caratteristiche

  1. variabile relevanceStatus
  2. Randomizzazione

Download

Per scaricare l'esempio precedente, fare clic sul link seguente: Random 5 out of 10 survey example.

Classificazione di un elenco di prodotti inserito dall'utente

Panoramica

L'esempio seguente mostra come chiedere agli utenti di elencare una serie di prodotti che li interessano e quindi chiedere loro di valutarli.


Dimostrazione delle caratteristiche di ES

  1. Personalizzazione delle risposte - quando si valutano i prodotti, le etichette provengono dal campo dei commenti della precedente domanda a scelta multipla
  2. Scale personalizzate - molte opzioni avanzate delle domande, come i titoli delle scale, possono essere anche personalizzate.


Screenshot

Questa immagine mostra che, essendo stati selezionati solo i prodotti 1,3 e 5, vengono visualizzati solo quei tre (utilizzando l'attributo array_filter). Inoltre, le etichette delle righe nella seconda domanda sono i numeri di prodotto (se non viene inserito nulla nel campo dei commenti) o il contenuto dei campi dei commenti.



Questa immagine mostra come vengono specificate le risposte su misura:



Ecco il File della logica per quella domanda, che ci consente di verificare che la logica condizionale funzioni come desiderato (ad esempio, per vedere se ci sono errori di sintassi):



L'immagine successiva mostra un gruppo in cui si specifica una scala di valutazione a 5 punti (Opzioni 1-5), il titolo della scala e i prodotti che si desidera valutare. L'ultima domanda mostra che ciascuna delle parti della domanda di tipo array può essere adattata:



L'immagine successiva mostra la visualizzazione del File della logica per l'ultima domanda. Come si può osservare, le domande secondarie, le risposte e le intestazioni di scala possono essere personalizzate.


Download

Per scaricare l'esempio del sondaggio precedente, fare clic sul link seguente: Esempio di valutazione di una lista di prodotti inserita dall' utente.