ho la necessità di contare quante risposte uguali ci sono all'interno di un gruppo, faccio un esempio utilizzando "5 Point Choise":
D1 - Da 1 a 3, quanto ti piace la pizza?
1 2 3
D2 - Da 1 a 3, quanto ti piace la pasta?
1 2 3
D3 - Da 1 a 3, quanto ti piace la torta?
1 2 3
Il mio scopo è quello di non far selezionare all'utente troppe volte la stessa risposta, quindi per esempio: inserire massimo 2 volte la valutazione 1;
evitando così che l'utente risponda 1 a tutte le domande.
Quindi basandomi sull'esempio recedente, inserire un blocco se seleziona D1-1 ; D2-1; D3-1;
Se invece inserisce D1-2 ; D2-1; D3-1; allora andare avanti con il questionario.
Non è chiaro se le D1, D2 e D3 sono 3 domande di tipo "Array - 5 Point Choise" con una sola sottodomanda, oppure 3 domande a scelta singola con 3 modalità.
La differenza sta nella sintassi da utilizzare per impostare la condizione con l'Expression manager e anche il punto dove mettere questa condizione per quello che tu chiami "blocco" del gruppo di domande. Questo blocco potrebbe essere impostato nella "Equazione di convalida della domanda" (vedi impostazioni di "Logica").
Resta comunque il fatto che in questo modo bloccheresti sempre quelli cui piace poco la pizza, la pasta e pure la torta...
No, ho scelto "Domande con scelta singola - 5 Point Choice", quindi tre domande diverse a scelta singola con 3 possibili risposte, solo una per domanda.
Ho inserito questo: !((D1==1) AND (D2==1) AND (D3==1))
all'interno dell'equazione di convalida della domanda D3, questo mi permette di non inserire 3 volte la stessa risposta.
Ma questo ovviamente funziona ed è utile con l'esempio che stiamo utilizzando in questa sede.
Ma ipotizzando di avere 50 Domande (tutte con la stessa struttura), dovrei impedire che l'utente selezioni 30 volte la risposta 1, 20 volte la risposta 2...
No, ancora non è chiaro, soprattutto l'ultima frase. Devi essere più preciso sul numero di domande della tua pagina (50 domande nella stessa pagina è un'enormità) e la condizione precisa che vuoi implementare.
Voglio definire un numero massimo di volte che l'utente può selezionare una determinata risposta.
Esattamente quello che aveva inteso inizialmente "Resta comunque il fatto che in questo modo bloccheresti sempre quelli cui piace poco la pizza, la pasta e pure la torta".
Ho 50 domande, suddivise in 5 pagine, 10 domande per pagina tutte "Domande con scelta singola - 5 Point Choice".
Ho questi limiti:
- L'utente non può selezionare più di X volte la risposta "1".
- L'utente non può selezionare più di Y volte la risposta "2".
- L'utente non può selezionare più di Z volte la risposta "3".
Ancora non si capisce se i limiti che hai elencato devono far riferimento alla singola pagina oppure a tutte e cinque le pagine.
Comunque ti dico come faccio io di solito per calcolare i punteggi e metterli in una variabile "nascosta" memorizzata nel db:
- Definire tante domande di tipo "equazione" per quante sono le regole (nel tuo esempio 3) per calcolare il numero di volte che si seleziona la risposta "1", poi "2" e poi "3".
La formula per calcola il primo caso potrebbe essere:
{sum(if(D1.NAOK==1,1,0),if(D2.NAOK==1,1,0),if(D3.NAOK==1,1,0))}
Io l'ho fatto per 3 domande, tu le devi fare per tutte le domande che ti interessano. Poi metti il controllo di convalida nell'ultima domanda di sezione o del questionario per impedire che si vada avanti o si invii se la regola non è rispettata