Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Messaggio personalizzato alla fine della survey

  • CloSure
  • CloSure's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
9 months 2 weeks ago #255571 by CloSure
Per favore aiutaci ad aiutarti e compila dove necessario:
La tua versione di LimeSurvey: 6.4.4
==================
Buonasera a tutti,
Vi scrivo perchè avrei bisogno di aiuto sull'impostazione di un'equazione.
La mia necessità è quella che, alla fine del questionario, venga fuori una schermata che attribuisca una sorta di profilo a seconda delle risposte date.
Ho provato, inserendo come ultima domanda del questionario una domanda di tipo equazione.
Ho preso come paragone solo una delle domande precedenti la G01Q46 e inserito i valori delle risposte AO01, AO02 e AO03
e inserito nel testo della domanda a impostarla su una singola domanda mettendo l'equazione {if(G01Q46=="AO01", "Complimenti, sai tutto di ecologia", if(G01Q46=="AO02", "Puoi fare di meglio", "L'ecologia non è il tuo forte"))} e così funziona.
Ora, però, vorrei estendere questo a tutto il questionario dove se la maggioranza delle domande ha come risposta AO01 allora "complimenti, sai tutto di ecologia", se la maggioranza delle domande ha come risposta AO02 allora "Puoi fare meglio" e se la maggioranza delle risposte è AO03 allora "L'ecologia non è il tuo forte".
I codici di risposta delle domande sono tutti AO01, AO02, AO03.
Pensavo di poter utilizzare count ma poi come lo inserisco? 
Grazie e buona serata. 

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 months 2 weeks ago #255573 by Joffm
Buongiorno,
Si prega di inviare l'esportazione lss del sondaggio.
Allora possiamo mostrarlo meglio.
Ad esempio, puoi utilizzare tre equazioni
eq1: countif("A001",Q1,Q2,Q3,...).
eq2:countif("A002",Q1,Q2,Q3,...).
eq3:countif("A003",Q1,Q2,Q3,...).

e quindi determinare il valore massimo, 
eqMax: max(eq1,eq2,eq3)
ecc.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: lfanfoni, CloSure

Please Log in to join the conversation.

  • lfanfoni
  • lfanfoni's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 months 2 weeks ago #255574 by lfanfoni
Potresti usare la funzione countif per contare il numero di risposte fornite per la singola opzione, per esempio:
countif('AO01', G01Q46.NAOK,G01Q47.NAOK, G01Q48.NAOK)
Nell'esempio ho aggiunto due codici domanda da me inventati.
Quindi ti puoi definire a fine questionario 3 variabili equazioni che fanno questo conteggio, ognuna per le 3 opzioni di risposta delle varie domande. Poi potresti aggiungere una quarta variabile equazione che calcola il massimo (variabile max) tra le 3.
In alternativa puoi dare un punteggio a ogni opzione di risposta di tutte le domande e poi farti la somma di questi punteggi e in base a questo totale mostrare il messaggio che vuoi. Cerca sul manuale "Assesment" e la proprietà ".value" nella pagina dell'Expression Manager

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni

Please Log in to join the conversation.

  • CloSure
  • CloSure's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
9 months 1 week ago #255797 by CloSure
Grazie per i preziosi consigli. 
Ho risolto la prima parte del problema assegnando a ogni opzione di risposta un punteggio e poi inserendo un'equazione nascosta 
{ASSESSMENT_CURRENT_TOTAL} 
Mi resta ancora un dubbio su come fare comparire le frasi personalizzate, nel senso che ho messo questa equazione qui: 
{if((G09Q92>="153"),'Complimenti sai tutto di ecologia',if((G09Q92>="77" && G09Q92.NAOK<"153"),'Puoi fare meglio', 'L'ecologia non è il tuo forte!'))}

Dove:
-G09Q92 è il codice dell'equazione che calcola il punteggio totale
-da 153 è la fascia di punteggio più alta
-da 77 a 152 è la fascia media 
-inferiore a 77 è la fascia minima. 
Ora, questa equazione funziona per quanto riguarda i valori superiori a 153 (ovvero mi restituisce correttamente la frase personalizzata) in tutti gli altri casi, però, mi restituisce sempre "L'ecologia non è il tuo forte" anche se il punteggio è compreso tra 77 e 153. 

Credo di aver sbagliato a scrivere l'equazione ma non riesco a vedere l'errore. 

Please Log in to join the conversation.

  • lfanfoni
  • lfanfoni's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 months 1 week ago #255800 by lfanfoni
G09Q92 dovrebbe essere numerica, quindi togli i doppi apici dai valori che confronti. Inoltre ti suggerisco di usare sempre la proprietà .NAOK quando acquisisci il dato di una domanda o variabile, quindi prova anche con G09Q92.NAOK

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni

Please Log in to join the conversation.

  • CloSure
  • CloSure's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
9 months 1 week ago #255811 by CloSure
Ho provato a sostituire l'equazione di prima con questa: 
{if((G09Q92.NAOK >= 153),"Complimenti sai tutto di ecologia", if((G09Q92.NAOK >= 77 && G09Q92.NAOK < 153),"Puoi fare di meglio", "L'ecologia non è il tuo forte"))}. 
Ma il risultato, alla compilazione del questionario è, qualsiasi risultato venga fuori, "L'ecologia non è il tuo forte".      

Please Log in to join the conversation.

  • lfanfoni
  • lfanfoni's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 months 1 week ago #255813 by lfanfoni
Quando non mi funziona una condizione o un if, spacchetto il più possibile le condizioni e le visualizzo nella pagina (nel tuo caso nella pagina di chiusura) per vedere se tornano true o false. Nel secondo if il frammento "&& G09Q92.NAOK < 153" mi sembra inutile, Prova a toglierlo (io di solito uso AND). Poi controlla se G09Q92 è davvero numerico (mi pare is_number) e magari prova eventualmente la conversione a intero. Infine prova anche senza il .NAOK, insomma: prova a visualizza sulla pagina per capire bene.

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The following user(s) said Thank You: CloSure

Please Log in to join the conversation.

Moderators: lfanfoniholchtpartner

Lime-years ahead

Online-surveys for every purse and purpose