Grazie a FlowScript puoi far ripetere una sezione fino a che non viene data una risposta specificata che determina la fine del ciclo.
In questo esempio viene posta una serie di domande su un viaggio effettuato e poi si chiede se sono stati fatti altri viaggi. In caso di risposta affermativa la serie di domande viene ripetuta per il nuovo viaggio. Il ciclo si interrompe quando il rispondente dichiara di non aver fatto altri viaggi.
- Chiedere al rispondente se ha fatto viaggi nell’ultimo anno.

- Rispondere ad alcune domande sul viaggio e quindi chiedere se ne sono stati fatti altri.

Finché l’utente dichiara di aver fatto altri viaggi, le domande al punto 2 dovranno essere riproposte.
Step 1 #
Dal bottone ingranaggio della pagina P1 attiva FlowScript e crea una variabile valorizzandola con 1.
{i} = 1;
Note
- Questa variabile funge da indice (o contatore) che sarà incrementato ogni volta che verrà ripetuta la sezione di domande. Alle variabili indice viene comunemente assegnato un nome come “i”, “j”, “k”. Se nel questionario vengono utilizzate più di una variabile indice, ognuna deve avere un nome diverso.
- La dichiarazione della variabile (in questo esempio “i”) deve essere fatta prima del ciclo, ovvero sul FlowScript di una pagina precedente alla sezione da ripetere.

Step 2 #
Crea una sezione che raggruppi tutte le pagine che dovranno essere ripetute ciclicamente.
Step 3 #
Dal menu strumenti, clicca su “IdCode – Visualizza script questionario”
Step 4 #
Nella riga di IdCode in cui viene assegnato il codice alla sezione, inserire l’istruzione /INDEX "{i}".

Step 5 #
Da impostazioni sezione, clicca sull’icona Logica e inserisci il seguente filtro su Condizione di visualizzazione.
if(Q1==1)
Note
- Questa istruzione serve a saltare tutta la sezione nel caso il rispondente dichiari di non aver effettuato viaggi nell’ultimo anno.
- Puoi aggiungere questa condizione di visualizzazione anche direttamente da IdCode aggiungendo
/F "if(Q1==1)"alla riga della sezione.

Step 6 #
Nell’ultima pagina della sezione, attiva FlowScript dal bottone ingranaggio e aggiungi
if (Q5==1) {
{i}++;
goto(Q2);
}Se alla domanda Q5 viene risposto codice 1, incrementa l’indice di 1 e torna alla domanda Q2 altrimenti passa alla domanda successiva
Nota
- Questo script riporta all’inizio della sezione (domanda Q2) fino a che l’intervistato risponde “sì” alla domanda Q5. Se intervistato risponde “no” viene processata l’istruzione “else” e quindi verrà proposta la domanda Q6.

Step 7 #
Clicca sull’ingranaggio impostazioni della pagina e attiva “Inserisci intestazione”.
Quindi scrivi nell’editor una descrizione dell’item a cui si riferiscono le domande della pagina, ad esempio:
Viaggio N° {i}
Nota
- Questo step è facoltativo ma, grazie al TextPiping {i}, consente di visualizzare al rispondente a quale viaggio si riferiscono le domande poste, permettendo così una compilazione del questionario più semplice.


