x

Capitoli principali

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Guida rapida
  3. LimeSurvey CE - Installazione
  4. Come progettare un buon sondaggio (Guida)
  5. Iniziare
  6. Configurazione di LimeSurvey
  7. Introduzione - Sondaggi
  8. Visualizza le impostazioni del sondaggio
  9. Visualizza il menu del sondaggio
  10. Visualizza la struttura del sondaggio
  11. Introduzione - Domande
  12. Introduzione - Gruppi di domande
  13. Introduzione - Indagini - Gestione
  14. Opzioni della barra degli strumenti del sondaggio
  15. Sondaggio multilinguale
  16. Guida rapida - ExpressionScript
  17. Funzionalità avanzate
  18. Domande frequenti generali
  19. Risoluzione dei problemi
  20. Soluzioni alternative
  21. Licenza
  22. Registro delle modifiche alla versione
  23. Plugin - Avanzati
 Actions

Check survey logic - Advanced/it: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "{{Nota|Per saperne di più su quali variabili possono essere utilizzate all'interno delle espressioni, leggi la seguente ExpressionScript - Presentation#Access_to_Variables|..."
Maren.fritz (talk | contribs)
Created page with "Inoltre, ricorda che la logica '''convalida''' viene creata automaticamente dagli attributi della domanda abilitati. Le equazioni possono sembrare schiaccianti, ma non devi pr..."
 
(42 intermediate revisions by the same user not shown)
Line 35: Line 35:




*'''Relevance <nowiki>[</nowiki>Validation] (Default)''' - shows the following:
*'''Rilevanza<nowiki> [</nowiki> Validation] (Predefinito)''' - mostra quanto segue:
**''Relevance'' - the syntax-highlighted [[ExpressionScript - Presentation|relevance equation]] for the question or group. If it is always true (to be shown in any scenario), the value will be '''1'''.
**''Pertinenza'' - l'[[ExpressionScript - Presentazione|equazione di pertinenza]] evidenziata dalla sintassi per la domanda o il gruppo. Se è sempre vero (da mostrare in qualsiasi scenario), il valore sarà '''1'''.
**''Validation'' - ExpressionScript automatically generates the [[ExpressionScript_Engine_-_Quick_start_guide#Validation|validation equation]] based upon the selected question attributes (e.g., min/max number of answers, min/max/equals sum values, min/max individual values or regular expression validation). This section shows the generated validation equation so that you can detect if there are any errors (such as undefined variables).
**''Validation'' - ExpressionScript genera automaticamente la [[ExpressionScript_Engine_-_Quick_start_guide#Validation|convalida equazione]] in base agli attributi della domanda selezionati (ad es. numero min/max di risposte, valori somma min/max/uguale, valori individuali min/max o convalida dell'espressione regolare). Questa sezione mostra l'equazione di convalida generata in modo da poter rilevare eventuali errori (come variabili non definite).
***Question-level validation shows the equation needed to verify the above-described question attributes
***La convalida a livello di domanda mostra l'equazione necessaria per verificare gli attributi della domanda sopra descritti
***Subquestion-level validation shows the equation needed to implement [[QS:Array_filter|array_filter]], [[QS:Array_filter_exclude|array_filter_exclude]], and [[QS:Exclusive_option|exclusive_option]]
* **La convalida a livello di sottodomanda mostra l'equazione necessaria per implementare [[QS:Array_filter|array_filter]], [[QS:Array_filter_exclude|array_filter_exclude]] e [[QS:Exclusive_option|exclusive_option]]
**''Default'' - if the question has a default value, it is shown here, syntax-highlighted (since the default could be an expression).
**''Predefinito '' - se la domanda ha un valore predefinito, viene mostrato qui, con la sintassi evidenziata (poiché il valore predefinito potrebbe essere un'espressione).


*'''Text <nowiki>[</nowiki>Help] (Tip)''' - shows the following:
*'''Testo<nowiki> [</nowiki> Aiuto] (Suggerimento)''' - mostra quanto segue:
**''Text'' - the text of the group, question, subquestion, or answer. It is syntax-highlighted to show any embedded [[ExpressionScript - Presentation#Tailoring.2FPiping|tailoring]], thus letting you verify that you have declared all the variables you plan to use in the tailoring.
**''Testo'' - il testo del gruppo, domanda, sottodomanda o risposta. La sintassi è evidenziata per mostrare qualsiasi [[ExpressionScript - Presentation#Tailoring.2FPiping|tailoring]] incorporato, permettendoti così di verificare di aver dichiarato tutte le variabili che intendi utilizzare nel tailoring.
**''Help'' - this shows the help text for the question, also syntax-highlighted.
**''Aiuto '' - questo mostra il testo di aiuto per la domanda, anch'esso evidenziato dalla sintassi.
**''Tip'' - this shows the internally generated validation tip, based upon the question attributes. This same tip is used in all survey styles, plus in the printable survey and data entry screens.
**''Suggerimento'' - questo mostra il suggerimento di convalida generato internamente, basato sugli attributi della domanda. Questo stesso suggerimento viene utilizzato in tutti gli stili di indagine, oltre che nelle schermate di indagine stampabili e di immissione dati.
**''Question Attributes'' - this shows a table of all relevant question attributes for this question. Attributes that might be equations are syntax-highlighted so that you can validate their accuracy.
**''Attributi domanda'': mostra una tabella di tutti gli attributi della domanda rilevanti per questa domanda. Gli attributi che potrebbero essere equazioni sono evidenziati dalla sintassi in modo da poterne convalidare l'accuratezza.


Rows are color coded as follows:
Le righe sono codificate a colori come segue:
*'''Groups''' - are shown with a light grey background
*'''Gruppi''' - sono mostrate con uno sfondo grigio chiaro
*'''Questions''' - are shown with a light green background
*'''Domande''' - sono mostrate con uno sfondo verde chiaro
*'''Subquestions''' - are shown with a pale yellow background
*' ''Domande secondarie''' - sono mostrate con uno sfondo giallo pallido
*'''Answers''' - are shown with a plain white background
*'''Risposte''' - sono mostrate con uno sfondo bianco semplice


Answers have an additional attribute in the '''Relevance''' column:
Le risposte hanno un attributo aggiuntivo nella colonna '''Rilevanza''':
*'''Value''' - this is the default internal value used by calculations. If you are using [[Assessments]], this will be the assessment value. Otherwise, this will be the same as the answer name.
*'''Valore''' - questo è il valore interno predefinito utilizzato dai calcoli. Se stai utilizzando [[Valutazioni]], questo sarà il valore della valutazione. Altrimenti, questo sarà lo stesso del nome della risposta.




{{Note|The survey description, welcome and end messages, end URL, Survey data policy notice and label are listed within the Cgeck survey Logic (above the table) if their corresponding fields are not empty!}}
{{Nota|La descrizione del sondaggio, i messaggi di benvenuto e di fine, l'URL finale, l'avviso sulla politica dei dati del sondaggio e l'etichetta sono elencati all'interno della logica del sondaggio Cgeck (sopra la tabella) se i campi corrispondenti non sono vuoti!}}


=Usage=
=Utilizzo=




At the top of the page, there is a summary message. If all is well, it will say "No syntax errors detected in this survey", or "This group" or "This question", "by itself, does not contain any syntax errors". If the opposite is true, it will say "X questions have syntax errors that need to be corrected".
Nella parte superiore della pagina è presente un messaggio di riepilogo. Se tutto va bene, dirà "Nessun errore di sintassi rilevato in questo sondaggio", oppure "Questo gruppo" o "Questa domanda", "di per sé, non contiene errori di sintassi". Se è vero il contrario, dirà "X domande hanno errori di sintassi che devono essere corretti".


Each question that has syntax errors gets the background of its leftmost column (i.e. '''#''') color-coded red. Also, a warning stating the number of minimum errors of a question will be displayed under the '''Name [ID]''' column. The following errors are common:
Ogni domanda che ha errori di sintassi ha lo sfondo della sua colonna più a sinistra (cioè '''#''') codificato con il colore rosso. Inoltre, sotto la colonna '''Nome [ID]''' verrà visualizzato un avviso che indica il numero minimo di errori di una domanda. I seguenti errori sono comuni:


*[[Check survey logic - Advanced#Undefined variable|Undefined variable]] - if you have not defined all of your variables, or mistyped array_filter (or different sets of answer options for array_filter), then some of your validation questions will show errors. Undefined variables are shown in red text, boxed with a red line.
*[[Controlla la logica del sondaggio - Avanzato#Variabile non definita|Variabile non definita]] - se non hai definito tutte le tue variabili o hai digitato in modo errato array_filter (o set diversi di opzioni di risposta per array_filter), alcune delle tue domande di convalida mostreranno errori . Le variabili non definite sono visualizzate in testo rosso, delimitate da una linea rossa.


*[[Check survey logic - Advanced#Bad syntax|Bad syntax]] - as you start to use relevance equations, you may use too many or too few parentheses. Such syntax problems are highlighted and boxed in red. If you hover the mouse over any such red-boxed text, a tool-tip will describe the error.
*[[Controlla la logica del sondaggio - Avanzato#Sintassi errata|Sintassi errata]] - quando inizi a utilizzare le equazioni di pertinenza, potresti utilizzare troppe o troppo poche parentesi. Tali problemi di sintassi sono evidenziati e racchiusi in rosso. Se passi il mouse su uno di questi testi nella casella rossa, un suggerimento descriverà l'errore.


== Colors in ExpressScript syntax ==
== Colori nella sintassi ExpressScript ==
Conditions and equations are syntaxhighlighted to easier figure out what you are looking at:
La sintassi delle condizioni e delle equazioni è evidenziata per capire più facilmente cosa stai guardando:
# Green / Light Blue: A variable that references a question earlier in the survey
# Verde / Azzurro: una variabile che fa riferimento a una domanda precedente nel sondaggio
# Blue: A function
# Blu : una funzione
# Grey: A string expression
# Grigio: un'espressione stringa
# Brown: A TOKEN expression (participant data)
# Marrone: un'espressione TOKEN (dati del partecipante)
# Black: Operator
# Nero: Operatore
Things to check:
Cose da controllare:
# Purple: A variable that references a question later in the survey. Usually this is an error and needs to be checked.
# Viola: una variabile che fa riferimento a domanda più avanti nel sondaggio. Di solito si tratta di un errore e deve essere controllato.
# Red or red frame: A non-existing variable or reference to an earlier question or a syntax error - usually needs to be checked.
# Cornice rossa o rossa: una variabile inesistente o un riferimento a una domanda precedente o un errore di sintassi - di solito deve essere controllato.




==Undefined Variables==
==Variabili non definite==




If undefined variables are used, the respective variable name will be color-coded in red and surrounded by a red line. If you hover your mouse over the variable name, it will say "undefined variable":
Se vengono utilizzate variabili non definite, il nome della rispettiva variabile sarà codificato a colori in rosso e circondato da una linea rossa. Se passi il mouse sopra il nome della variabile, dirà "variabile non definita":




Line 92: Line 92:




{{Alert|title=Attention|text=Please note that LimeSurvey does not allow survey administrators to create questions that use the same question code. However, it could happen to have similar question codes within a survey if you import a question group or a question that uses the same question code as one of your already-defined questions. The question can still be imported because the question ids are different. However, if you wish to export the survey results to further explore the [[Exporting_results|survey results]] (R or SPSS), be careful because the question code is seen as a variable!}}
{{Alert|title=Attenzione|text=Tieni presente che LimeSurvey non consente agli amministratori del sondaggio di creare domande che utilizzano lo stesso codice domanda. Tuttavia, potrebbe capitare di avere codici domanda simili all'interno di un sondaggio se importi un gruppo di domande o una domanda che utilizza lo stesso codice domanda di una delle tue domande già definite. La domanda può ancora essere importata perché gli ID delle domande sono diversi. Tuttavia, se desideri esportare i risultati del sondaggio per esplorare ulteriormente i [[Exporting_results|risultati del sondaggio]] (R o SPSS), fai attenzione perché il codice della domanda viene visto come una variabile!}}




<center>[[File:same_code_name_not_recommended.png]]</center>}}
<center>[[File:same_code_name_not_recommended.png]]</center>}}


==Bad syntax==
==Sintassi errata==




Most of the expression-related mistakes are related to bad syntax. This is related to the fact that survey administrators usually miss to add a curly bracket, to properly make use of parentheses, or they use expressions wrongly:
La maggior parte degli errori relativi alle espressioni sono legati a una cattiva sintassi. Ciò è legato al fatto che gli amministratori del sondaggio di solito non aggiungono una parentesi graffa, usano correttamente le parentesi o usano le espressioni in modo errato:




Line 108: Line 108:




Here are many good examples on the usage of [[ExpressionScript How-tos#Syntax_Highlighting|syntax highlighting]].
Ecco molti buoni esempi sull'uso di [[ExpressionScript How-tos#Syntax_Highlighting|evidenziazione della sintassi]].




===Bad custom JavaScript===
===JavaScript personalizzato errato===




The JavaScript errors will also be highlighted in the survey logic check:
Gli errori JavaScript verranno inoltre evidenziati nel controllo della logica del sondaggio:




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


=Speeding editing and validation=
=Velocità di modifica e convalida=




All of the syntax-highlighted text has tooltips embedded, which are clickable:
Tutto il testo evidenziato dalla sintassi ha suggerimenti incorporati, che sono cliccabili:
#Tooltips
#Tooltips
#*Functions - hovering the mouse lets you see the purpose and syntax definition of the function;
#*Funzioni: passando il mouse puoi vedere lo scopo e la definizione della sintassi della funzione;
#*Variable Names - hovering the mouse lets you see the position (group, question sequence), question text, and allowable answers for the question.
#*Nomi delle variabili - passando il mouse è possibile visualizzare la posizione (gruppo, sequenza di domande), il testo della domanda e le risposte consentite per la domanda.
#Actions
#Actions
#*Variable Names - clicking on the variable name opens a new window that allows you to edit the question. This makes it easy to navigate and verify logic - simply keep clicking on variable names of relevance or validation criteria for the question to see where they come from and how they are used.
#*Nomi delle variabili: facendo clic sul nome della variabile si apre una nuova finestra che consente di per modificare la domanda. Ciò semplifica la navigazione e la verifica della logica: continua semplicemente a fare clic sui nomi delle variabili di rilevanza o sui criteri di convalida per la domanda per vedere da dove provengono e come vengono utilizzati.




=Examples=
=Esempi=




The following examples are taken from the [[ExpressionScript sample surveys|ExpressionScript sample surveys]]. You can find screenshots of running surveys, explanations, and downloads on that page.
Gli esempi seguenti sono tratti dai [[Sondaggi campione ExpressionScript|Sondaggi campione ExpressionScript]]. Puoi trovare schermate di sondaggi in corso, spiegazioni e download su quella pagina.




==Body Mass Index==
==Indice di massa corporea==




Here are [[ExpressionScript sample surveys#Screenshots|screenshots]] of this example.
Ecco [[ExpressionScript sample survey#Screenshots|screenshots]] di questo esempio.


This is the question-reorder view of the Body Mass Index calculation. You can see the relevance equations for weight, height, and BMI under the ''Question'' column:
Questa è la vista di riordino delle domande del calcolo dell'indice di massa corporea. Puoi vedere le equazioni di rilevanza per peso, altezza e indice di massa corporea nella colonna ''Domanda'':




Line 147: Line 147:




For a better survey overview, check the survey logic page:
Per una migliore panoramica del sondaggio, controlla la pagina della logica del sondaggio:




Line 153: Line 153:




This survey example is also a good example of nested if() statements to generate the "weightstatus".
Questo esempio di sondaggio è anche un buon esempio di istruzioni if() nidificate per generare il "weightstatus".




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


==Cascading logic==
==Logica a cascata==




Here are [[ExpressionScript sample surveys#Cascading Array Filters|screenshots]] of this example.
Ecco [[sondaggi di esempio ExpressionScript#Filtri a cascata|schermate]] di questo esempio.


It shows the subquestion validation logic that is automatically generated when you use [[QS:Array_filter|array_filter]] and [[QS:Array_filter_exclude|array_filter_exclude]]. This example also shows how you can substitute the tailored "Other" value (the answer for Q02_other is Q01_other).
Mostra la logica di convalida della sottodomanda che viene generata automaticamente quando si utilizzano [[QS:Array_filter|array_filter]] e [[QS:Array_filter_exclude|array_filter_exclude]]. Questo esempio mostra anche come sostituire il valore personalizzato "Altro" (la risposta per Q02_altro è Q01_altro).




Line 169: Line 169:




Q05 in this example shows simultaneous use of array_filter and array_filter_exclude on Q01 and Q02, respectively. This example demonstrates cascading array_filter capabilities. Note that one of the main reasons for showing the question and subquestion level '''validation''' criteria is to help ensure you have not made any typos in specifying the array_filter or array_filter_exclude variable names (or in case you use different variable names for your list of filtered subquestions). If you have such typos, all the invalid variable names will appear in red indicating that they are undefined, letting you quickly fix the problem.
Q05 in questo esempio mostra l'uso simultaneo di array_filter e array_filter_exclude rispettivamente su Q01 e Q02. Questo esempio dimostra le funzionalità di array_filter a cascata. Nota che uno dei motivi principali per mostrare i criteri di '''convalida''' a livello di domanda e sottodomanda è quello di assicurarti di non aver commesso errori di battitura nello specificare i nomi delle variabili array_filter o array_filter_exclude (o nel caso in cui utilizzi nomi di variabili diversi per l'elenco delle sottodomande filtrate). Se hai tali errori di battitura, tutti i nomi delle variabili non validi appariranno in rosso indicando che non sono definiti, permettendoti di risolvere rapidamente il problema.




Line 175: Line 175:




==Dynamic relevance==
==Pertinenza dinamica==




This example demonstrates dynamic cascading relevance logic to control display of question visibility. You can download this example [[ExpressionScript sample surveys#Download|here]].
Questo esempio illustra la logica di pertinenza a cascata dinamica per controllare la visualizzazione della visibilità della domanda. Puoi scaricare questo esempio [[ExpressionScript sample surveys#Download|qui]].


Also note that questions are displayed only if certain validation criteria are met. For example, if a person states that she has 2 kids, certain questions have to be filled in by the respondent (kid1 and kid2).
Si noti inoltre che le domande vengono visualizzate solo se vengono soddisfatti determinati criteri di convalida. Ad esempio, se una persona afferma di avere 2 figli, alcune domande devono essere compilate dall'intervistato (kid1 e kid2).




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


==Group-level relevance==
==Pertinenza a livello di gruppo==




This example shows how group-level relevance appears in the logic check. Here are [[ExpressionScript sample surveys#Sample Census|screenshots]] of the example described below.
Questo esempio mostra come appare la pertinenza a livello di gruppo nel controllo logico. Ecco [[ExpressionScript sample survey#Sample Census|screenshots]] dell'esempio descritto di seguito.


As you can see, the group-level relevance equation (cohabs > 1 && p1_rel != "") appear in the grey Person 2 row for G-2.
Come puoi vedere, l'equazione di rilevanza a livello di gruppo (cohabs > 1 && p1_rel != "") appare nella riga grigia Persona 2 per G-2.


You may also notice that all of the questions are mandatory. However, if the group is irrelevant, so are all its questions. As a result, those questions are only truly mandatory if the group is relevant.
Potresti anche notare che tutte le domande sono obbligatorie. Tuttavia, se il gruppo è irrilevante, lo sono anche tutte le sue domande. Di conseguenza, tali domande sono veramente obbligatorie solo se il gruppo è rilevante.


You may also note that certain questions are displayed only if the answer to the previous question is not empty. You may see below that if p2_sex is not filled in, p2_name is not going to be displayed, even though it is a mandatory questions. The mandatory question p2_age is also not going to be displayed if p2_name is not filled in. These questions can be considered "conditionally mandatory".  
Puoi anche notare che alcune domande vengono visualizzate solo se la risposta alla domanda precedente non è vuota. Di seguito puoi vedere che se p2_sex non è compilato, p2_name non verrà visualizzato, anche se è una domanda obbligatoria. Anche la domanda obbligatoria p2_age non verrà visualizzata se p2_name non è compilata. Queste domande possono essere considerate "condizionalmente obbligatorie".  


Additionally, note that the '''tip''' messages are also automatically created for you. They are organized by value range (min/max), sum value range (min/max/equals), number of answers (min/max), etc (it depends on the used question type and active attributes). Sometimes you want to validate an answer range but don't want to display what might appear to be silly validation tips to the user. In such cases, you can use the [[QS:Hide_tip|hide_tip]] question option (as in this case, to avoid telling the user that the age must be between 0 and 115 unless they try to enter a bad value - see p2_age).
Inoltre, tieni presente che anche i messaggi '''tip''' vengono creati automaticamente per te. Sono organizzati per intervallo di valori (min/max), intervallo di valori somma (min/max/uguale), numero di risposte (min/max), ecc. (dipende dal tipo di domanda utilizzato e dagli attributi attivi). A volte si desidera convalidare un intervallo di risposte ma non si desidera visualizzare quelli che potrebbero sembrare sciocchi suggerimenti di convalida all'utente. In questi casi, puoi utilizzare l'opzione domanda [[QS:Hide_tip|hide_tip]] (come in questo caso, per evitare di dire all'utente che l'età deve essere compresa tra 0 e 115 a meno che non tenti di inserire un valore errato - vedi p2_age ).




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


==Comma as radix (decimal) separator==
==Virgola come separatore di radice (decimale)==




Although LimeSurvey fully supports the use of comma as radix (decimal) separator at run-time, you must still use a decimal as the radix separator at the design-time (e.g., when specifying min/max values in advanced question attributes). The working example can be [[ExpressionScript sample surveys#Using Comma as Radix Separator (Decimal Point)|found here]].
Sebbene LimeSurvey supporti completamente l'uso della virgola come separatore radice (decimale) in fase di esecuzione, è comunque necessario utilizzare un decimale come separatore radice in fase di progettazione (ad esempio, quando si specificano i valori min/max negli attributi delle domande avanzate). L'esempio funzionante può essere [[Sondaggi di esempio ExpressionScript#Using Comma as Radix Separator (Decimal Point)|trovato qui]].


Also, remember that the '''validation''' logic is created for you automatically from the enabled question attributes. The equations may look overwhelming, but you don't need to worry about them.
Inoltre, ricorda che la logica '''convalida''' viene creata automaticamente dagli attributi della domanda abilitati. Le equazioni possono sembrare schiaccianti, ma non devi preoccuparti di loro.




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

Latest revision as of 14:09, 3 August 2023


Generale

Un'opzione importante che ti aiuta a creare e mantenere facilmente sondaggi complessi è Check Survey Logic.

Durante lo sviluppo e il test del sondaggio, e prima di attivarlo, è molto importante convalidare la logica del sondaggio. Ciò è particolarmente vero quando si utilizzano complesse equazioni di pertinenza, personalizzazione e convalida: è necessario essere sicuri che nulla si rompa durante l'esecuzione del sondaggio.

Questa funzione ti consente di convalidare rapidamente l'accuratezza del sondaggio, dei gruppi e delle domande. È possibile accedervi dalle opzioni del menu della barra superiore situate sotto le impostazioni relative al sondaggio. È disponibile tramite il menu Strumenti:



Come puoi osservare sopra, puoi eseguire questa opzione quattro volte, per ogni lingua utilizzata all'interno di un sondaggio.

Descrizione

L'opzione Check Survey Logic mostra tutto ciò che hai specificato per ogni domanda e gruppo (es. nome, testo, aiuto, condizioni/rilevanza, regole di validazione, default, sottodomande, risposte) in un comodo formato tabulare. Evidenzia gli errori e ti consente di fare clic sulla domanda e sugli ID di gruppo (o sulle variabili utilizzate all'interno delle equazioni) per aprire nuove schede del browser per modificare tali domande o gruppi. In questo modo è facile modificare rapidamente eventuali errori e aggiornare la pagina di controllo della logica per confermare l'accuratezza del sondaggio prima di attivarlo.

Il display è inoltre progettato per essere leggibile da ricercatori e sponsor dello studio in modo che possano convalidare l'accuratezza del progetto e della logica del sondaggio. Il controllo della logica del sondaggio aggiorna la cache per tutte le espressioni utilizzate all'interno di un sondaggio attivo.

Comprende le seguenti colonne:

  • # - mostra i conteggi della sequenza di gruppi e domande, a partire da 0.
  • Nome [ ID] - mostra il codice della domanda per il gruppo/domanda/sottodomanda. Questi codici possono essere usati come variabili all'interno di espressioni. ID è l'ID della domanda (QID) o l'ID del gruppo (GID). Questo campo mostra anche il tipo di domanda (ad esempio, Scelta multipla [M])).


Template:Nota


  • Rilevanza [ Validation] (Predefinito) - mostra quanto segue:
    • Pertinenza - l'equazione di pertinenza evidenziata dalla sintassi per la domanda o il gruppo. Se è sempre vero (da mostrare in qualsiasi scenario), il valore sarà 1.
    • Validation - ExpressionScript genera automaticamente la convalida equazione in base agli attributi della domanda selezionati (ad es. numero min/max di risposte, valori somma min/max/uguale, valori individuali min/max o convalida dell'espressione regolare). Questa sezione mostra l'equazione di convalida generata in modo da poter rilevare eventuali errori (come variabili non definite).
      • La convalida a livello di domanda mostra l'equazione necessaria per verificare gli attributi della domanda sopra descritti
  • **La convalida a livello di sottodomanda mostra l'equazione necessaria per implementare array_filter, array_filter_exclude e exclusive_option
    • Predefinito - se la domanda ha un valore predefinito, viene mostrato qui, con la sintassi evidenziata (poiché il valore predefinito potrebbe essere un'espressione).
  • Testo [ Aiuto] (Suggerimento) - mostra quanto segue:
    • Testo - il testo del gruppo, domanda, sottodomanda o risposta. La sintassi è evidenziata per mostrare qualsiasi tailoring incorporato, permettendoti così di verificare di aver dichiarato tutte le variabili che intendi utilizzare nel tailoring.
    • Aiuto - questo mostra il testo di aiuto per la domanda, anch'esso evidenziato dalla sintassi.
    • Suggerimento - questo mostra il suggerimento di convalida generato internamente, basato sugli attributi della domanda. Questo stesso suggerimento viene utilizzato in tutti gli stili di indagine, oltre che nelle schermate di indagine stampabili e di immissione dati.
    • Attributi domanda: mostra una tabella di tutti gli attributi della domanda rilevanti per questa domanda. Gli attributi che potrebbero essere equazioni sono evidenziati dalla sintassi in modo da poterne convalidare l'accuratezza.

Le righe sono codificate a colori come segue:

  • Gruppi - sono mostrate con uno sfondo grigio chiaro
  • Domande - sono mostrate con uno sfondo verde chiaro
  • ' Domande secondarie' - sono mostrate con uno sfondo giallo pallido
  • Risposte - sono mostrate con uno sfondo bianco semplice

Le risposte hanno un attributo aggiuntivo nella colonna Rilevanza:

  • Valore - questo è il valore interno predefinito utilizzato dai calcoli. Se stai utilizzando Valutazioni, questo sarà il valore della valutazione. Altrimenti, questo sarà lo stesso del nome della risposta.


Template:Nota

Utilizzo

Nella parte superiore della pagina è presente un messaggio di riepilogo. Se tutto va bene, dirà "Nessun errore di sintassi rilevato in questo sondaggio", oppure "Questo gruppo" o "Questa domanda", "di per sé, non contiene errori di sintassi". Se è vero il contrario, dirà "X domande hanno errori di sintassi che devono essere corretti".

Ogni domanda che ha errori di sintassi ha lo sfondo della sua colonna più a sinistra (cioè #) codificato con il colore rosso. Inoltre, sotto la colonna Nome [ID] verrà visualizzato un avviso che indica il numero minimo di errori di una domanda. I seguenti errori sono comuni:

  • Variabile non definita - se non hai definito tutte le tue variabili o hai digitato in modo errato array_filter (o set diversi di opzioni di risposta per array_filter), alcune delle tue domande di convalida mostreranno errori . Le variabili non definite sono visualizzate in testo rosso, delimitate da una linea rossa.
  • Sintassi errata - quando inizi a utilizzare le equazioni di pertinenza, potresti utilizzare troppe o troppo poche parentesi. Tali problemi di sintassi sono evidenziati e racchiusi in rosso. Se passi il mouse su uno di questi testi nella casella rossa, un suggerimento descriverà l'errore.

Colori nella sintassi ExpressScript

La sintassi delle condizioni e delle equazioni è evidenziata per capire più facilmente cosa stai guardando:

  1. Verde / Azzurro: una variabile che fa riferimento a una domanda precedente nel sondaggio
  2. Blu : una funzione
  3. Grigio: un'espressione stringa
  4. Marrone: un'espressione TOKEN (dati del partecipante)
  5. Nero: Operatore

Cose da controllare:

  1. Viola: una variabile che fa riferimento a domanda più avanti nel sondaggio. Di solito si tratta di un errore e deve essere controllato.
  2. Cornice rossa o rossa: una variabile inesistente o un riferimento a una domanda precedente o un errore di sintassi - di solito deve essere controllato.


Variabili non definite

Se vengono utilizzate variabili non definite, il nome della rispettiva variabile sarà codificato a colori in rosso e circondato da una linea rossa. Se passi il mouse sopra il nome della variabile, dirà "variabile non definita":



  Attenzione : Tieni presente che LimeSurvey non consente agli amministratori del sondaggio di creare domande che utilizzano lo stesso codice domanda. Tuttavia, potrebbe capitare di avere codici domanda simili all'interno di un sondaggio se importi un gruppo di domande o una domanda che utilizza lo stesso codice domanda di una delle tue domande già definite. La domanda può ancora essere importata perché gli ID delle domande sono diversi. Tuttavia, se desideri esportare i risultati del sondaggio per esplorare ulteriormente i risultati del sondaggio (R o SPSS), fai attenzione perché il codice della domanda viene visto come una variabile!



}}

Sintassi errata

La maggior parte degli errori relativi alle espressioni sono legati a una cattiva sintassi. Ciò è legato al fatto che gli amministratori del sondaggio di solito non aggiungono una parentesi graffa, usano correttamente le parentesi o usano le espressioni in modo errato:



Ecco molti buoni esempi sull'uso di evidenziazione della sintassi.


JavaScript personalizzato errato

Gli errori JavaScript verranno inoltre evidenziati nel controllo della logica del sondaggio:


Velocità di modifica e convalida

Tutto il testo evidenziato dalla sintassi ha suggerimenti incorporati, che sono cliccabili:

  1. Tooltips
    • Funzioni: passando il mouse puoi vedere lo scopo e la definizione della sintassi della funzione;
    • Nomi delle variabili - passando il mouse è possibile visualizzare la posizione (gruppo, sequenza di domande), il testo della domanda e le risposte consentite per la domanda.
  2. Actions
    • Nomi delle variabili: facendo clic sul nome della variabile si apre una nuova finestra che consente di per modificare la domanda. Ciò semplifica la navigazione e la verifica della logica: continua semplicemente a fare clic sui nomi delle variabili di rilevanza o sui criteri di convalida per la domanda per vedere da dove provengono e come vengono utilizzati.


Esempi

Gli esempi seguenti sono tratti dai Sondaggi campione ExpressionScript. Puoi trovare schermate di sondaggi in corso, spiegazioni e download su quella pagina.


Indice di massa corporea

Ecco screenshots di questo esempio.

Questa è la vista di riordino delle domande del calcolo dell'indice di massa corporea. Puoi vedere le equazioni di rilevanza per peso, altezza e indice di massa corporea nella colonna Domanda:



Per una migliore panoramica del sondaggio, controlla la pagina della logica del sondaggio:



Questo esempio di sondaggio è anche un buon esempio di istruzioni if() nidificate per generare il "weightstatus".


Logica a cascata

Ecco schermate di questo esempio.

Mostra la logica di convalida della sottodomanda che viene generata automaticamente quando si utilizzano array_filter e array_filter_exclude. Questo esempio mostra anche come sostituire il valore personalizzato "Altro" (la risposta per Q02_altro è Q01_altro).



Q05 in questo esempio mostra l'uso simultaneo di array_filter e array_filter_exclude rispettivamente su Q01 e Q02. Questo esempio dimostra le funzionalità di array_filter a cascata. Nota che uno dei motivi principali per mostrare i criteri di convalida a livello di domanda e sottodomanda è quello di assicurarti di non aver commesso errori di battitura nello specificare i nomi delle variabili array_filter o array_filter_exclude (o nel caso in cui utilizzi nomi di variabili diversi per l'elenco delle sottodomande filtrate). Se hai tali errori di battitura, tutti i nomi delle variabili non validi appariranno in rosso indicando che non sono definiti, permettendoti di risolvere rapidamente il problema.



Pertinenza dinamica

Questo esempio illustra la logica di pertinenza a cascata dinamica per controllare la visualizzazione della visibilità della domanda. Puoi scaricare questo esempio qui.

Si noti inoltre che le domande vengono visualizzate solo se vengono soddisfatti determinati criteri di convalida. Ad esempio, se una persona afferma di avere 2 figli, alcune domande devono essere compilate dall'intervistato (kid1 e kid2).


Pertinenza a livello di gruppo

Questo esempio mostra come appare la pertinenza a livello di gruppo nel controllo logico. Ecco screenshots dell'esempio descritto di seguito.

Come puoi vedere, l'equazione di rilevanza a livello di gruppo (cohabs > 1 && p1_rel != "") appare nella riga grigia Persona 2 per G-2.

Potresti anche notare che tutte le domande sono obbligatorie. Tuttavia, se il gruppo è irrilevante, lo sono anche tutte le sue domande. Di conseguenza, tali domande sono veramente obbligatorie solo se il gruppo è rilevante.

Puoi anche notare che alcune domande vengono visualizzate solo se la risposta alla domanda precedente non è vuota. Di seguito puoi vedere che se p2_sex non è compilato, p2_name non verrà visualizzato, anche se è una domanda obbligatoria. Anche la domanda obbligatoria p2_age non verrà visualizzata se p2_name non è compilata. Queste domande possono essere considerate "condizionalmente obbligatorie".

Inoltre, tieni presente che anche i messaggi tip vengono creati automaticamente per te. Sono organizzati per intervallo di valori (min/max), intervallo di valori somma (min/max/uguale), numero di risposte (min/max), ecc. (dipende dal tipo di domanda utilizzato e dagli attributi attivi). A volte si desidera convalidare un intervallo di risposte ma non si desidera visualizzare quelli che potrebbero sembrare sciocchi suggerimenti di convalida all'utente. In questi casi, puoi utilizzare l'opzione domanda hide_tip (come in questo caso, per evitare di dire all'utente che l'età deve essere compresa tra 0 e 115 a meno che non tenti di inserire un valore errato - vedi p2_age ).


Virgola come separatore di radice (decimale)

Sebbene LimeSurvey supporti completamente l'uso della virgola come separatore radice (decimale) in fase di esecuzione, è comunque necessario utilizzare un decimale come separatore radice in fase di progettazione (ad esempio, quando si specificano i valori min/max negli attributi delle domande avanzate). L'esempio funzionante può essere trovato qui.

Inoltre, ricorda che la logica convalida viene creata automaticamente dagli attributi della domanda abilitati. Le equazioni possono sembrare schiaccianti, ma non devi preoccuparti di loro.