x

Glavna poglavlja

  1. LimeSurvey Cloud u usporedbi s LimeSurvey CE
  2. Vodič za brzi početak - LimeSurvey 3.0+
  3. Instalacija - LimeSurvey CE
  4. Kako izraditi dobar upitnik (vodič)
  5. Početak rada
  6. Administriranje LimeSurveya
  7. Upitnici - uvod
  8. Postavke upitnika
  9. Izbornik upitnika
  10. Struktura upitnika
  11. Pitanja - uvod
  12. Skupine pitanja - uvod
  13. Upitnici - upravljanje
  14. Opcije alatne trake upitnika
  15. Višejezični upitnik
  16. ExpressionScript Engine - Vodič za brzi početak
  17. Nekategorizirane i napredne značajke
  18. Opći FAQ
  19. Rješavanje problema
  20. Zaobilazna rješenja
  21. Licenca
  22. Popis izmjena po verzijama
  23. Dodaci
 Actions

Provjera logike upitnika - napredno

From LimeSurvey Manual

Ova je stranica možda strojno prevedena i može sadržavati pogreške. Prikaži engleski izvornik · Poboljšaj ovaj prijevod
This page is a translated version of the page Check survey logic - Advanced and the translation is 100% complete.


Općenito

Važna opcija koja vam pomaže izraditi i jednostavno održavati složene upitnike je Provjera logike upitnika.

Tijekom izrade i testiranja upitnika, a prije njegove aktivacije, vrlo je važno provjeriti logiku upitnika. To posebno vrijedi kada koristite složene jednadžbe relevantnosti, prilagodbe (tailoring) i provjere - morate biti sigurni da se ništa neće pokvariti kada pokrenete upitnik.

Ova značajka omogućuje brzu provjeru ispravnosti vašeg upitnika, grupa i pitanja. Dostupna je putem opcija izbornika na gornjoj traci koje se nalaze u postavkama vezanim uz upitnik. Dostupna je u izborniku Alati:



Kao što možete vidjeti gore, ovu opciju možete pokrenuti četiri puta, za svaki jezik korišten u upitniku.

Opis

Opcija Provjera logike upitnika prikazuje sve što ste odredili za svako pitanje i grupu (npr. naziv, tekst, pomoć, uvjete/relevantnost, pravila provjere, zadane vrijednosti, potpitanja, odgovore) u preglednom tabličnom obliku. Ističe pogreške i omogućuje vam da kliknete na ID-ove pitanja i grupa (ili varijable korištene u jednadžbama) kako biste u novim karticama preglednika uredili ta pitanja ili grupe. Tako možete brzo urediti sve pogreške i osvježiti stranicu provjere logike kako biste potvrdili ispravnost upitnika prije njegove aktivacije.

Prikaz je osmišljen i tako da ga mogu čitati istraživači i naručitelji studije kako bi mogli provjeriti ispravnost dizajna i logike upitnika. Provjera logike upitnika ažurira predmemoriju za sve izraze korištene u aktivnom upitniku.

Uključuje sljedeće stupce:

  • # - prikazuje redne brojeve grupa i pitanja, počevši od 0.
  • Naziv [ID] - prikazuje kôd pitanja za grupu/pitanje/potpitanje. Ti se kodovi mogu koristiti kao varijable unutar izraza. ID je ID pitanja (QID) ili ID grupe (GID). Ovo polje prikazuje i vrstu pitanja (npr. Višestruki izbor [M])).


Da biste saznali više o tome koje se varijable mogu koristiti unutar izraza, pročitajte sljedeći odjeljak wikija.


  • Relevantnost [Provjera] (Zadano) - prikazuje sljedeće:
    • Relevantnost - jednadžba relevantnosti za pitanje ili grupu s isticanjem sintakse. Ako je uvijek istinita (prikazuje se u svakom scenariju), vrijednost će biti 1.
    • Provjera - ExpressionScript automatski generira jednadžbu provjere na temelju odabranih atributa pitanja (npr. min/maks broj odgovora, min/maks/jednake vrijednosti zbroja, min/maks pojedinačne vrijednosti ili provjera regularnim izrazom). Ovaj odjeljak prikazuje generiranu jednadžbu provjere kako biste mogli uočiti eventualne pogreške (poput nedefiniranih varijabli).
    • Zadano - ako pitanje ima zadanu vrijednost, prikazuje se ovdje s isticanjem sintakse (jer zadana vrijednost može biti izraz).
  • Tekst [Pomoć] (Savjet) - prikazuje sljedeće:
    • Tekst - tekst grupe, pitanja, potpitanja ili odgovora. Sintaksa je istaknuta kako bi se prikazala sva ugrađena prilagodba (tailoring), čime možete provjeriti jeste li deklarirali sve varijable koje planirate koristiti u prilagodbi.
    • Pomoć - prikazuje tekst pomoći za pitanje, također s istaknutom sintaksom.
    • Savjet - prikazuje interno generirani savjet za provjeru, na temelju atributa pitanja. Isti se savjet koristi u svim stilovima upitnika, kao i u upitniku prikladnom za ispis i na zaslonima za unos podataka.
    • Atributi pitanja - prikazuje tablicu svih relevantnih atributa ovog pitanja. Atributi koji mogu biti jednadžbe imaju istaknutu sintaksu kako biste mogli provjeriti njihovu ispravnost.

Reci su obojeni na sljedeći način:

  • Grupe - prikazuju se svijetlosivom pozadinom
  • Pitanja - prikazuju se svijetlozelenom pozadinom
  • Potpitanja - prikazuju se blijedožutom pozadinom
  • Odgovori - prikazuju se običnom bijelom pozadinom

Odgovori imaju dodatni atribut u stupcu Relevantnost:

  • Vrijednost - ovo je zadana interna vrijednost koju koriste izračuni. Ako koristite procjene, ovo će biti vrijednost procjene. Inače će biti jednaka nazivu odgovora.


Opis upitnika, poruke dobrodošlice i završetka, završni URL, obavijest o pravilima o upotrebi podataka upitnika i oznaka navedeni su u provjeri logike upitnika (iznad tablice) ako njihova odgovarajuća polja nisu prazna!

Upotreba

Na vrhu stranice nalazi se sažetak. Ako je sve u redu, pisat će "Nisu uočene sintaktičke pogreške u ovom upitniku" ili "Ova grupa" odnosno "Ovo pitanje" "samo po sebi ne sadrži sintaktičke pogreške". U suprotnom će pisati "X pitanja ima sintaktičke pogreške koje je potrebno ispraviti".

Svako pitanje sa sintaktičkim pogreškama dobiva crvenu pozadinu u krajnjem lijevom stupcu (tj. #). Također će se ispod stupca Naziv [ID] prikazati upozorenje s minimalnim brojem pogrešaka pitanja. Sljedeće su pogreške uobičajene:

  • Nedefinirana varijabla - ako niste definirali sve svoje varijable ili ste pogrešno upisali array_filter (ili različite skupove opcija odgovora za array_filter), neka od vaših pitanja provjere prikazat će pogreške. Nedefinirane varijable prikazuju se crvenim tekstom, uokvirene crvenom linijom.
  • Neispravna sintaksa - kada počnete koristiti jednadžbe relevantnosti, možete upotrijebiti previše ili premalo zagrada. Takvi sintaktički problemi istaknuti su i uokvireni crvenom bojom. Ako pokazivačem miša prijeđete preko takvog crveno uokvirenog teksta, opis pogreške prikazat će se u oblačiću.

Boje u sintaksi ExpressionScripta

Uvjeti i jednadžbe imaju istaknutu sintaksu kako bi se lakše snašli u onome što gledate:

  1. Zelena / svijetloplava: varijabla koja upućuje na pitanje ranije u upitniku
  2. Plava: funkcija
  3. Siva: znakovni izraz
  4. Smeđa: izraz TOKEN (podaci o sudioniku)
  5. Crna: operator

Stvari koje treba provjeriti:

  1. Ljubičasta: varijabla koja upućuje na pitanje kasnije u upitniku. Obično je to pogreška i treba je provjeriti.
  2. Crvena ili crveni okvir: nepostojeća varijabla ili upućivanje na raniје pitanje ili sintaktička pogreška - obično treba provjeriti.


Nedefinirane varijable

Ako se koriste nedefinirane varijable, naziv varijable bit će obojen crveno i okružen crvenom linijom. Ako pokazivačem miša prijeđete preko naziva varijable, pisat će "undefined variable":



  Pažnja : Imajte na umu da LimeSurvey ne dopušta administratorima upitnika izradu pitanja koja koriste isti kôd pitanja. Međutim, može se dogoditi da unutar upitnika postoje slični kodovi pitanja ako uvezete grupu pitanja ili pitanje koje koristi isti kôd pitanja kao jedno od već definiranih pitanja. Pitanje se i dalje može uvesti jer su ID-ovi pitanja različiti. Međutim, ako želite izvesti rezultate upitnika radi daljnjeg istraživanja rezultata upitnika (R ili SPSS), budite oprezni jer se kôd pitanja smatra varijablom!



}}

Neispravna sintaksa

Većina pogrešaka povezanih s izrazima nastaje zbog neispravne sintakse. Razlog je to što administratori upitnika obično zaborave dodati vitičastu zagradu, ne koriste ispravno zagrade ili pogrešno upotrebljavaju izraze:



Ovdje možete pronaći mnogo dobrih primjera upotrebe isticanja sintakse.


Neispravan prilagođeni JavaScript

JavaScript pogreške također će biti istaknute u provjeri logike upitnika:


Brže uređivanje i provjera

Svi tekstovi s istaknutom sintaksom imaju ugrađene opise (tooltipove) na koje se može kliknuti:

  1. Opisi (tooltipovi)
    • Funkcije - zadržavanjem miša prikazuju se svrha i definicija sintakse funkcije;
    • Nazivi varijabli - zadržavanjem miša prikazuju se položaj (grupa, redoslijed pitanja), tekst pitanja i dopušteni odgovori za pitanje.
  2. Radnje
    • Nazivi varijabli - klikom na naziv varijable otvara se novi prozor u kojem možete urediti pitanje. Tako se lako krećete kroz upitnik i provjeravate logiku - samo nastavite kliknuti na nazive varijabli u relevantnosti ili kriterijima provjere pitanja kako biste vidjeli odakle dolaze i kako se koriste.


Primjeri

Sljedeći primjeri preuzeti su iz ExpressionScript primjera upitnika. Na toj stranici možete pronaći snimke zaslona upitnika u radu, objašnjenja i preuzimanja.


Indeks tjelesne mase

Ovdje se nalaze snimke zaslona ovog primjera.

Ovo je prikaz promjene redoslijeda pitanja za izračun indeksa tjelesne mase. Relevantnost za težinu, visinu i ITM možete vidjeti u stupcu Pitanje:



Za bolji pregled upitnika provjerite stranicu s logikom upitnika:



Ovaj primjer upitnika ujedno je dobar primjer ugniježđenih if() naredbi za generiranje "weightstatus".


Kaskadna logika

Ovdje se nalaze snimke zaslona ovog primjera.

Prikazuje logiku provjere potpitanja koja se automatski generira kada koristite array_filter i array_filter_exclude. Ovaj primjer također pokazuje kako možete zamijeniti prilagođenu vrijednost "Ostalo" (odgovor za Q02_other je Q01_other).



Q05 u ovom primjeru prikazuje istodobnu upotrebu array_filter i array_filter_exclude na Q01 odnosno Q02. Ovaj primjer demonstrira mogućnosti kaskadnog array_filtera. Imajte na umu da je jedan od glavnih razloga prikaza kriterija provjere na razini pitanja i potpitanja pomoć pri osiguravanju da niste napravili tipfelere pri navođenju naziva varijabli array_filter ili array_filter_exclude (ili ako za popis filtriranih potpitanja koristite različite nazive varijabli). Ako postoje takve greške, svi neispravni nazivi varijabli prikazat će se crvenom bojom kao nedefinirani, što vam omogućuje da brzo riješite problem.



Dinamička relevantnost

Ovaj primjer demonstrira dinamičku kaskadnu logiku relevantnosti za upravljanje vidljivošću pitanja. Ovaj primjer možete preuzeti ovdje.

Također imajte na umu da se pitanja prikazuju samo ako su ispunjeni određeni kriteriji provjere. Na primjer, ako osoba navede da ima dvoje djece, ispitanik mora ispuniti određena pitanja (kid1 i kid2).


Relevantnost na razini grupe

Ovaj primjer pokazuje kako se relevantnost na razini grupe prikazuje u provjeri logike. Ovdje su snimke zaslona primjera opisanog u nastavku.

Kao što možete vidjeti, jednadžba relevantnosti na razini grupe (cohabs > 1 && p1_rel != "") prikazana je u sivom retku Person 2 za G-2.

Možda ćete primijetiti i da su sva pitanja obavezna. Međutim, ako grupa nije relevantna, nisu ni sva njezina pitanja. Zbog toga su ta pitanja zaista obavezna samo ako je grupa relevantna.

Također možete primijetiti da se određena pitanja prikazuju samo ako odgovor na prethodno pitanje nije prazan. U nastavku možete vidjeti da se p2_name neće prikazati ako p2_sex nije ispunjen, iako je to obavezno pitanje. Obavezno pitanje p2_age također se neće prikazati ako p2_name nije ispunjen. Ta se pitanja mogu smatrati „uvjetno obaveznima”.

Osim toga, imajte na umu da se poruke savjeta također automatski stvaraju za vas. Organizirane su prema rasponu vrijednosti (min/maks), rasponu zbroja vrijednosti (min/maks/jednako), broju odgovora (min/maks) itd. (ovisi o korištenoj vrsti pitanja i aktivnim atributima). Ponekad želite provjeriti raspon odgovora, ali ne želite korisniku prikazivati savjete za provjeru koji bi mogli djelovati suvišno. U takvim slučajevima možete koristiti opciju pitanja hide_tip (kao u ovom slučaju, kako korisniku ne bi bilo rečeno da dob mora biti između 0 i 115 dok ne pokuša unijeti neispravnu vrijednost - pogledajte p2_age).


Zarez kao decimalni separator

Iako LimeSurvey u potpunosti podržava korištenje zareza kao decimalnog separatora tijekom izvođenja, tijekom izrade upitnika (npr. pri navođenju min/maks vrijednosti u naprednim atributima pitanja) ipak morate koristiti točku kao decimalni separator. Radni primjer možete pronaći ovdje.

Također imajte na umu da se logika provjere automatski stvara za vas na temelju omogućenih atributa pitanja. Jednadžbe možda izgledaju zastrašujuće, ali ne morate brinuti o njima.