Welcome, Guest
Username: Password: Remember me

TOPIC: count(*) di una domanda da database

count(*) di una domanda da database 2 years 2 months ago #82306

  • vonvuviz
  • vonvuviz's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 10
  • Thank you received: 1
  • Karma: 0
Buongiorno a tutti.
Avrei una domanda che riguarda il conteggio di una certa risposta sul db dei dati salvati. Mi spiego meglio:
Ho un questionario in cui c'è una domanda che mi fa da filtro e voglio un controllo che
mi vada a vedere se sono gia state inserire un tot fissato di risposte, e in caso affrmativo non mi faccia visualizzare le domande successsive.
Ad esempio se chiedo il colore degli occhi e vorrei che ci fossero al massimo 30 blu e 40 castani, ho bisogno di vedere quante risposte ci sono state di occhi blu e occhi castani.
Se un utente mi dice che ha gli occhi blu e gia in 30 hanno scelto l'opzione "occhi blu", non deve visualizzare le domande successive.

Qualcuno mi sa dire se è possibile e se si come si potrebbe fare?
Grazie mille.
The administrator has disabled public write access.

Re: count(*) di una domanda da database 2 years 2 months ago #82315

  • lfanfoni
  • lfanfoni's Avatar
  • OFFLINE
  • Gold Lime
  • Posts: 293
  • Thank you received: 43
  • Karma: 12
Non l'ho mai provato, ma credo che puoi usare le "Quote":
docs.limesurvey.org/quotas&structure=Eng...tions+for+LimeSurvey
Forse combinando a una domanda di tipo Equation.
Facci sapere.
The administrator has disabled public write access.

Re: count(*) di una domanda da database 2 years 2 months ago #82324

  • vonvuviz
  • vonvuviz's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 10
  • Thank you received: 1
  • Karma: 0
Si ci avevo provato ma alla fine la sezione per le quote funziona solo se la domanda è di tipo:

Gender
Multiple Choice
Array - 5 Point Choice
Array - 10 Point Choice
Language Switch
Yes/No
List (Radio)
List (Dropdown)
List with comments

Ho pensato a due modi per risolvere la questione, visto che non c'è un modo diretto:
1) Passargli i valori del count(*) da url e poi via javascipt fare i controlli del caso
2) Creare una variabile dummy, e settarla in modo opportuno in modo che posso usare le quote (es se colore degli occhi è blu, la variabile dummy di tipo Array - "5 Point Choice" vale 1, se castani 2. Alla fine metto le quote su questa variabile qua).
La seconda mi pare un pò migliore rispetto alla prima.
Faccio un pò di prove e vedo qual'è la soluzione che genera meno problemi.
Last Edit: 2 years 2 months ago by vonvuviz.
The administrator has disabled public write access.

Re: count(*) di una domanda da database 2 years 2 months ago #82330

  • lfanfoni
  • lfanfoni's Avatar
  • OFFLINE
  • Gold Lime
  • Posts: 293
  • Thank you received: 43
  • Karma: 12
La seconda soluzione forse è possibile con la 1.92. come variabile "dummy" puoi usare una domanda a scelta semplice (che puoi anche nascondere), pero questa domanda puo' essere settata in base alle scelte precedenti usando i "default value". E come default value dovrai usare una espressione/equazione del nuovo EM (puoi anche usare l'iif in linea).
Non so pero' se nel default value puoi mettere una equazione.
Se fai come l'altra volta che posti la soluzione trovata, avrai la mia gratitudine...(anche quella di altri, suppongo)
The administrator has disabled public write access.

Re: count(*) di una domanda da database 2 years 2 months ago #82334

  • vonvuviz
  • vonvuviz's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 10
  • Thank you received: 1
  • Karma: 0
Ho trovato una soluzione non molto elegante ma efficace.
Intanto un preambolo sul questionario:
Nel mio caso specifico ho 4 quote da rispettare e queste vengono calcolate con variabili che non vengono sempre chieste e sono in pagine separate.
Il questionario, dopo le prime domande si divide in 2 tronconi per ricongiungersi ad un certo punto (quando si ricongiungono ho tutte le informazioni per sapere a quale delle 4 quote appartiene).

Quindi ho creato un gruppo "quota" dove ho inserito la variabile dummy di tipo "multi choice" con i 4 valori.
Con javascript ho tirato su i valori dalla session delle variabili che mi servivano, trasformandoli prima in stringa e poi in numero (operazione necessaria in quanto le variabili che non si chiedono hanno un valore nullo e se non si fa cosi il javascript sballina!)

Sulla domanda ho nascosto solo la parte della choice e ho messo un'intestazione fasulla del tipo:

"La fase di screening è terminata. Prema avanti per continuare il questionario."


Di seguito lo scriptino (non so se può servire però magari serve :P ):


<script>
tmp = "{INSERTANS:SSSSXGGXQQ1}" ;

spec1 = "INSERTANS:SSSSXGGXQQ2" ;
spec2 = "{INSERTANS:SSSSXGGXQQ3}" ;
spec3 = "{INSERTANS:SSSSXGGXQQ4}";
spec4 = "{INSERTANS:SSSSXGGXQQ5}";

if (spec1="") {
spec1 = 0;
}

if (spec2 = "") {
spec2 = 1;
}

if (spec3 = "") {
spec3 = 1;
}

if (spec4 = "") {
spec4 = 1;
}


if(tmp == "<VALORE DELLA VARIABILE>"){
check = ( ( spec3 * 100 ) / spec4 )
if(check < 20){
document.getElementById("answer54464X12X110A1").checked=true;
} else{
document.getElementById("answer54464X12X110A2").checked=true;
}
} else{
check = ( ( spec1 * 100 ) / spec2 )
if(check < 25){
document.getElementById("answer54464X12X110A3").checked=true;
} else{
document.getElementById("answer54464X12X110A4").checked=true;
}
}
</script>
The administrator has disabled public write access.

Re: count(*) di una domanda da database 2 years 2 months ago #82466

  • lfanfoni
  • lfanfoni's Avatar
  • OFFLINE
  • Gold Lime
  • Posts: 293
  • Thank you received: 43
  • Karma: 12
Beh: direi una soluzione perfetta, pero' mi è rimasto il tarlo della "default value": avresti potuto definire una o più domande a scelta semplice, mettendo una espressione nei "default answer values"?
Appena ho un attimo ci voglio provare...
grazie comunque per l'ottima soluzione
The administrator has disabled public write access.
Time to create page: 0.125 seconds
Donation Image